python - 在保留索引的同时删除包含 NaN 的行

标签 python pandas

我正在尝试使用 Pandas 清理一个非常大的数据框。

数据集包含重复的指标列,例如高度、体重、性别和年龄。一些行包含列名 currentAge 的数据,而其他行包含列名 currentAge2 的数据。

因此,例如,我想删除 currentAgecurrentAge2 中具有 NaN 的行,因为它们是无用的数据点。我想对所有其他指标执行相同的操作。

我的数据框的索引从0开始。下面是我试过的代码。

for index, row in csv.iterrows():
    if ((math.isnan(row['currentAge']) and math.isnan(row['currentAge2'])) == True):
        csv.drop(csv.index[index])

这不起作用,当我使用 in place=True 时,我得到一个索引越界错误。如果有人能阐明我如何正确清理这个数据框,那就太好了。 csv 是我的数据框的名称。

最佳答案

我认为这里不需要iterrows

csv[~(csv['currentAge'].isnull())&(csv['currentAge2'].isnull())]

关于python - 在保留索引的同时删除包含 NaN 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50960537/

相关文章:

python - 为什么内置函数而不是根类方法?

python - 无法在 Django 模板中的 if block 下嵌套 {% static %} 标签

python - 多输出回归

Python - 使用多处理和按键检测

python - pandas 中的广义系列拆分(一对多映射)

python - 如何以django形式迭代特定表列

python-2.7 - Pandas Dataframe ValueError : Shape of passed values is (X, ),索引意味着 (X, Y)

python - 从列表字典创建并连接数据框

python - 在 python 中使用 str.contains 查找带有 pandas 的两个子字符串

python - 如何向 pandas hdf5 添加另一个数据框