如何使用python删除列值为9999的dataframe的行?

2024-09-29 23:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

for column in df:
print(column)
print((df[column] == -9999).value_counts()) 
print("")

modelMag_u
False    49977
True        23
Name: modelMag_u, dtype: int64

modelMag_i
False    49985
True        15
Name: modelMag_i, dtype: int64

有人能帮我删除列值为-9999的行吗


Tags: nameinfalsetruedfforvaluecolumn
1条回答
网友
1楼 · 发布于 2024-09-29 23:27:17

假设以下情况:如果行中有值为-9999的列,则要删除该行

df[~(df == -9999).any(axis='columns')]

这是怎么回事

df == -9999首先运行。这会将每个单元格与-9999进行比较,根据每个单元格的内容创建一个包含真值和假值的数据帧。然后在这个数据帧上使用.any(axis='columns')any(使用axis=columns参数)为每个具有anyTrue值的行返回True。这正是您要删除的行。df[~ ... ]构造将保留…中不正确的任何行。剩下的是没有值为-9999的单元格的任何行

相关问题 更多 >

    热门问题