如何引用不在索引中的列?

时间:2018-12-18 12:33:55

标签: python pandas

假设我有一个这样的数据框。

             Max         Min            Open     OpenA
Date                
2017.10.18  1.18050 1.17858 1.17872 1.18028
2017.10.19  1.18575 1.17676 1.17804 1.18565
2017.10.20  1.18575 1.17621 1.17642 1.18532
2017.10.23  1.17770 1.17245 1.17281 1.17763
2017.10.24  1.17924 1.17423 1.17430 1.17866

我想引用data ['Date']列。但是我得到这个错误:

KeyError: 'Date'

干杯!

2 个答案:

答案 0 :(得分:1)

您可以使用reset_index,然后将其视为一列:

df = df.reset_index()
df['date']

OR

您可以使用df.index.tolist()。这将返回您的值。

例如:

In [2918]: df
Out[2918]: 
            emp_id
date              
10/1/2018  staff_1
10/1/2018  staff_2
10/1/2018  staff_3

In [2922]: df.index.tolist()
Out[2922]: ['10/1/2018', '10/1/2018', '10/1/2018']

OR

In [2924]: df = df.reset_index()
In [2926]: df['date']
Out[2926]: 
0    10/1/2018
1    10/1/2018
2    10/1/2018

答案 1 :(得分:0)

实际上不是column,而是index。因此,使用data.index来获取值,而无需更改数据帧的当前结构。

您可以进一步使用data.reset_index()使其成为一列。

注意-不要使用data.reset_index(drop=True),因为那样会删除当前索引,甚至不将其作为列。