[英]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.