我有一个名为df
的Pandas DataFrame(378000,82),我想根据特定条件用NaN
替换整行。条件是列df.halon_gas
中大于20的任何值,我想用NaN
替换整行。这是我要过滤数据的方式,这样我就不会丢失索引值。
谢谢!
答案 0 :(得分:1)
如果行行没事,那么我建议您这样做:
df.reset_index(level=0, inplace=True)
df = df[df.halon_gas <= 20]
df.set_index("index", inplace=True)
这是怎么回事:
答案 1 :(得分:0)
首先获取所有小于20的值的索引
idx = df[df.halon_gas >= 20].index
然后将所有列和所有低于200的列的值设置为None
df.set_value(idx, df.columns , None)
这应该在值小于20的行中写入None / Nan