read_csv 日期不是时间序列

比如说我的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)

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值