我有一个数据表,它是从CSV文件导入到DataFrame中的。
这些数据包含大约10个分类字段、1个月份列(按日期时间格式)和其余的数据系列。
如何将日期列转换为跨越列轴的索引?
set_index
函数:df.set_index('month')
例如:In [1]: df = pd.DataFrame([[1, datetime(2011,1,1)], [2, datetime(2011,1,2)]], columns=['a', 'b'])
In [2]: df
Out[2]:
a b
0 1 2011-01-01 00:00:00
1 2 2011-01-02 00:00:00
In [3]: df.set_index('b')
Out[3]:
a
b
2011-01-01 1
2011-01-02 2
我曾经遇到类似的问题,通过使用 reset_index
方法解决了。但是你也可以使用 set_index
或 reset_index
方法:
df_ind = df.set_index(['A', 'B'])
或者
df.reset_index(level=0, inplace=True)
如果您事先不知道日期列的名称,并且需要根据数据中的时间序列列自动设置索引
df.set_index((df.select_dtypes(include=[np.datetime64]).columns).tolist())
index_col
和parse_dates=True
参数,read_csv
会自动完成这项任务。 - behzad.nouri