2024-09-29 23:27:17 发布
网友
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的行吗
假设以下情况:如果行中有值为-9999的列,则要删除该行
df[~(df == -9999).any(axis='columns')]
这是怎么回事
df == -9999首先运行。这会将每个单元格与-9999进行比较,根据每个单元格的内容创建一个包含真值和假值的数据帧。然后在这个数据帧上使用.any(axis='columns')any(使用axis=columns参数)为每个具有anyTrue值的行返回True。这正是您要删除的行。df[~ ... ]构造将保留…中不正确的任何行。剩下的是没有值为-9999的单元格的任何行
df == -9999
.any(axis='columns')
any
df[~ ... ]
假设以下情况:如果行中有值为-9999的列,则要删除该行
这是怎么回事
df == -9999
首先运行。这会将每个单元格与-9999进行比较,根据每个单元格的内容创建一个包含真值和假值的数据帧。然后在这个数据帧上使用.any(axis='columns')
any
(使用axis=columns参数)为每个具有any
True值的行返回True。这正是您要删除的行。df[~ ... ]
构造将保留…中不正确的任何行。剩下的是没有值为-9999的单元格的任何行相关问题 更多 >
编程相关推荐