熊猫凯耶罗

时间:2016-05-11 18:14:55

标签: python pandas

我有一个非常简单的代码:

stats2 = {'a':[1,2,3,4,5,6],
         'b':[43,34,65,56,29,76],
         'c':[65,67,78,65,45,52],
         'cac':['mns','ab','cd','cd','ab','k']}
f2 = pd.DataFrame(stats2)
f2.set_index(['cac'], inplace = True)
print(f2.ix['mns'])
print(f2['mns'])

f2.ix [' mns']工作正常。但是,f2 [' mns']报告KeyError。我试图理解为什么会那样做。这是大熊猫的工作原理吗?即使我之前设置了索引,我还必须使用ix吗?

1 个答案:

答案 0 :(得分:3)

这是您的原始数据框:

>>> df

   a   b   c  cac
0  1  43  65  mns
1  2  34  67   ab
2  3  65  78   cd
3  4  56  65   cd
4  5  29  45   ab
5  6  76  52    k


>>> df.set_index(['cac'], inplace=True)
>>> df

     a   b   c
cac           
mns  1  43  65
ab   2  34  67
cd   3  65  78
cd   4  56  65
ab   5  29  45
k    6  76  52

因此,在pandas中设置索引只是将前计数器值(0,1,2,...,5)替换为{{(mns,ab,...,k)的新行值。 1}}列名。

cac

此命令专门搜索索引列>>> df.ix['mns'] a 1 b 43 c 65 中的行,其值等于cac并检索其对应的元素。

注意: 由于mns不是数据框的列名,mns会引发密钥错误。