t= pd.DataFrame(dict(p1=[1,2,3,4],p2=rand(4),idx=[1]*4)).set_index(['idx','p1'])
我可以做it['p2']
但是干嘛
t['p1']
给了我 KeyError:' p1'
答案 0 :(得分:0)
您使p1
成为索引,因此您无法正常访问它。要获得p1
值,您可以执行以下操作:
import pandas as pd
from numpy.random import rand
t= pd.DataFrame(dict(p1=[1,2,3,4],p2=rand(4),idx=[1]*4)).set_index(['idx', 'p1'])
print(t.index.get_level_values('p1'))
# or
print(t.index.get_level_values('p1').tolist())
打印:
Int64Index([1, 2, 3, 4], dtype='int64')
[1, 2, 3, 4]