筛选至少包含一个零的Pandas数据框中的行

问题描述 投票:0回答:1

我正在尝试删除Pandas数据框中所有两列中都不为零的行。我的数据帧的索引从0到620。这是我的代码:

for index in range(0, 621):
    if((zeroes[index,1] != 0) and (zeroes[index,3] != 0)):
        del(zeroes[index,])

我一直收到关键错误。KeyError:(0,1)

我的老师建议我更改范围以进行测试,以查看数据框中是否有不良行。是的我检查了数据框的尾部,然后将范围更改为(616,621)。然后我得到了关键错误:(616,1)。

有人知道我的代码出了什么问题或为什么我遇到了关键错误吗?

此代码还会产生(0,1)的键错误:

index = 0
while (index < 621):
    if((zeroes[index,1] != 0) and (zeroes[index,3] != 0)):
        del(zeroes[index,])
index = index + 1
python pandas for-loop dataframe range
1个回答
0
投票

此处不要使用手动for循环。您的错误可能是由于df.__getitem__((x, y))(实际上是df[x, y]所调用的)没有意义而发生的。

© www.soinside.com 2019 - 2024. All rights reserved.