尝试访问数据框的子列时遇到错误

时间:2020-02-16 19:21:07

标签: python pandas

我有一个看起来像这样的数据框:

Sex         F   M       All     ratio
Name                
Aaban       0.0 20.0    20.0    inf
Aabid       0.0 5.0     5.0     inf
Aabriella   5.0 0.0     5.0    -inf
Aadam       0.0 133.0   133.0   inf
Aadan       0.0 69.0    69.0    inf
Aadarsh     0.0 109.0   109.0   inf
Aaden       5.0 2972.0  2977.0  9.21529
Aadesh      0.0 10.0    10.0    inf
Aadhav      0.0 29.0    29.0    inf
Aadhavan    0.0 5.0     5.0     inf

我想访问全部子列,但不知道该怎么做。 我的代码如下:

males = 0
females = 0
total = 0
for i in range(len(pivot)):
    total+=1
    if pivot.loc[:,('Sex', 'All')][i] > 10000:
        if pivot.ratio[i] >= 4:
            males+=1
        elif pivot.ratio[i] <= -4:
            females+=1

这给了我以下错误: KeyError:'不再支持将列表式传递给带有任何丢失标签的.loc或[],请参见https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike',但我找不到像我的代码那样在遍历索引号时还需要做些什么。

我要我的代码执行的操作是遍历数据帧中的每一行,看是否都大于10000,如果是,则看该比率是大于4还是小于-4。有人可以向我解释如何访问子列全部吗?

编辑:出现错误的行是第一个if语句,其他两个if语句似乎可以正常工作。

0 个答案:

没有答案