23

我有一张从 CSV 文件导入 DataFrame 的数据表。

数据包含大约 10 个分类字段、1 个月列(日期时间格式),其余为数据系列。

如何将日期列转换为跨列轴的索引?

4

3 回答 3

36

您可以使用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
于 2013-04-01T21:54:37.990 回答
6

我有类似的问题,我刚刚通过 reset_index 解决了。但是您可以使用 set_index 或 reset_index:

df_ind = df.set_index(['A', 'B'])

或者

df.reset_index(level=0, inplace=True)
于 2014-11-20T21:14:37.150 回答
3

如果提前不知道日期列的名称,需要根据数据中的时间序列列自动设置索引

df.set_index((df.select_dtypes(include=[np.datetime64]).columns).tolist())
于 2015-02-02T16:51:37.530 回答