Pandas使用csv输入处理日期时间


Jan-17   Feb-17   Mar-17
Fixed      20.0      30.5     35.5
Variable   11.5      20.5     30.5

我有一个csv文件,里面有这样的数据。我就是这样读的:

df = pd.read_csv('data.csv', index_col= 0)
df = df.T

我想从索引中提取月份:但是,如果我做df.index.month,这不起作用甚至pd.to_detime((也失败了。在这种情况下,有什么方法可以从索引中提取月份吗?

您需要指定日期时间的格式:

pd.to_datetime(df.index,format='%b-%d')

这将输出

DatetimeIndex(['1900-01-17', '1900-02-17', '1900-03-17'], dtype='datetime64[ns]', name='d', freq=None)

默认年份为1900年。您可以从具有.monthdatetime对象或不具有.dt.day对象中拾取和选择月份和日期。例如:

pd.to_datetime(df.index,format='%b-%d').month

输出

Int64Index([1, 2, 3], dtype='int64', name='d')

最新更新