我有以下 python pandas 数据框 df:
DATES Sales
0 1/6/2013 5676
1 1/8/2014 45746
2 1/10/2015 42658
3 1/14/2015 890790
4 1/16/2016 5764
5 1/20/2014 7898
我需要将 DATES 更改为日期时间索引,以便我可以对其重新采样。
但是当我这样做的时候
pd.to_datetime(df,infer_datetime_format=True)
我收到以下错误: ValueError:组装映射至少需要指定 [year, month, day]:缺少 [day,month,year]
最佳答案
你应该明确定义格式
pd.to_datetime(df['DATES'],format='%m/%d/%Y')
不要让 Pandas 猜
将日期时间设置为索引
df = df.set_index(pd.DatetimeIndex(df['DATES']))
适用于非填充的月份和日期:
import pandas as pd
d = {'1/6/2013' : 5676}
df = pd.DataFrame(d.items(), columns=['DATES', 'Sales'])
df['DATES'] = pd.to_datetime(df['DATES'],format='%m/%d/%Y')
0 2013-01-06
关于Python Pandas 从日期创建日期时间索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42932632/