使用pandas索引,是否可以使用整数列表?I get KeyError:“使用整数列表时,标签[xxxx]不在[columns]”中(即使多索引级别中的值被格式化为字符串):
vals = np.random.randn(4)
df = pd.DataFrame({'l1': ['A', 'B', 'C', 'B'], 'l2': ['9876', '6789', '5432',
'1234'], 'l3': ['Y', 'X', 'Y', 'Y'], 'value': vals})
df.set_index(['l1', 'l2', 'l3'], inplace=True)
idx = pd.IndexSlice
# None of the following works
df.loc[idx[:, 6789, :]]
df.loc[idx[:, [6789, 1234], :]]
df.reset_index(inplace=True)
df.l2 = df.l2.astype('str')
df.set_index(['l1', 'l2', 'l3'], inplace=True)
df.loc[idx[:, '6789', :]]
首先,您的索引列是由字符串组成的,这不可能起作用。在
要分割单个值,请使用惯用用法
xs
:对于值列表,请将
^{pr2}$axis
参数指定为loc
注意这也与标量的
xs
相同备选方案:
PS注意字符串值
^{pr2}$'6789'
和最后一个:
:相关问题 更多 >
编程相关推荐