[英]How to use index in pandas data frame?
我使用数据框中的三列进行索引:
df = df.set_index(['col1','col2','col3'])
然后,我尝试获取与特定索引对应的行。 我尝试了许多不同的方法:
x = df.loc[(123,456,789)]
x = df.ix[(123,456,789)]
x = df.loc[123,456,789]
x = df.ix[123,456,789]
这些选项均无效。 我收到的错误消息是:
raise e1
KeyError: 'MultiIndex lexsort depth 0, key was length 3'
我检查了索引的使用值是否存在:
inds = []
for ind in df.index:
inds.append(ind)
if (123,456,789) in inds:
print 'in'
else:
print 'out'
结果我进入in
(因此,存在这个索引使用的值)。 我究竟做错了什么?
对df进行排序后,所有loc / ix方法都应该起作用。
df = df.set_index(['col1','col2','col3'])
df.sort(inplace=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.