python - 根据条件将 Pandas DataFrame 中的一行替换为 'NaN'

标签 python pandas dataframe filter

我有一个名为 df (378000, 82) 的 Pandas DataFrame,我想根据特定条件将整行替换为 NaN。条件是对于 df.halon_gas 列中大于 20 的任何值,我想用 NaN 替换整行。这就是我想要过滤数据的方式,这样我就不会丢失索引值。

谢谢!

最佳答案

首先获取所有低于20的值的索引

    idx = df[df.halon_gas >= 20].index

然后将所有列以及所有低于200的列的值设置为None

    df.set_value(idx, df.columns , None)

这应该在值低于 20 的行中写入 None/Nan

关于python - 根据条件将 Pandas DataFrame 中的一行替换为 'NaN',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63269920/

相关文章:

Python 脚本在 IDLE 中执行时有效,但在控制台中无效

python - python asyncIO如何暂停和恢复任务?

python - 转置 Pandas 数据框并更改列标题

Pandas Dataframe 重命名行中的重复值

r - 在数据框中按因子拆分列

python - 数据库存储 : Why is Pipeline better than Feed Export?

python - SQLObject 下的数据库更改

python - 如何为我的问题创建堆积条形图?

python - 如何使用 Pandas 计算滚动排名相关性

python - 从数组长度不等的字典中创建数据框