[英]how to remove the rows of a dataframe with -9999 as column value using 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 作为列值的行吗?
假设以下内容:如果该行中有任何值为 -9999 的列,您想要删除该行
df[~(df == -9999).any(axis='columns')]
这是如何运作的?
df == -9999
首先运行。 这将每个单元格与 -9999 进行比较,根据每个单元格的内容创建 True 和 False 值的数据框。 然后我们在这个数据.any(axis='columns')
使用.any(axis='columns')
。 any
(带有axis=columns 参数)对于具有any
真值的每一行都返回真。 这正是您要删除的那些行。 df[~ ... ]
构造保留df[~ ... ]
中不为 True 的任何行。 剩下的是没有值为 -9999 的单元格的任何行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.