入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

read_csv 日期不是时间序列

创建时间:2017-02-23 投稿人: 浏览次数:2719

比如说我的csv中有一列是时间:1949-01-01,当我直接read_csv(fileName)时,得到的数据,它的时间这一列被当做 object(或者string),导致进行时间序列预测的时候,不好操作,也不好画图,那怎么转换呢

以下转自:stackoverflow

1)单列转换


dateparse = lambda x: pd.datetime.strptime(x, "%Y-%m-%d %H:%M:%S")

df = pd.read_csv(infile, parse_dates=["datetime"], date_parser=dateparse)
当然你需要灵活变通,比如:我的例子在csv中是 1949/1/1(在名为Month的这一列)

dateparse = lambda dates: pd.datetime.strptime(dates,"%Y/%m/%d")
data = pd.read_csv("AirPassengers.csv", parse_dates=["Month"],
            index_col="Month", date_parser=dateparse)

index_col=‘Month’是为了把这一列作为索引

然后print(data.index)就能看到DatetimeIndex等字样


2)多列转换

dateparse = lambda x: pd.datetime.strptime(x, "%Y-%m-%d %H:%M:%S")

df = pd.read_csv(infile, parse_dates={"datetime": ["date", "time"]}, date_parser=dateparse)

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。