[英]Pandas Dataframe - replace NaN with 0 if column value condition
[英]Replace a row in Pandas DataFrame with 'NaN' based on condition
我有一个名为df
(378000, 82) 的 Pandas DataFrame ,我想根据特定条件用NaN
替换整行。 条件是df.halon_gas
列中大于 20 的任何值,我想用NaN
替换整行。 这是我想要过滤数据的方式,这样我就不会丢失索引值。
谢谢!
如果您对消失的行感到满意,那么我建议您这样做:
df.reset_index(level=0, inplace=True)
df = df[df.halon_gas <= 20]
df.set_index("index", inplace=True)
这里发生的情况如下:
首先获取值的所有索引,低于 20
idx = df[df.halon_gas >= 20].index
然后将所有列和所有低于 200 的列的值设置为 None
df.set_value(idx, df.columns , None)
这应该在值低于 20 的行中写入 None/Nan
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.