【发布时间】:2021-06-19 01:02:20
【问题描述】:
我想用零替换小于某个值 (b) 的数据框中的所有值(227 行,397 列),其余的应该是现有值 - b 。它是一种基线校正。 我有一个可行的解决方案:遍历每个值检查条件并替换它。
import pandas as pd
b = 20
for index, row in df.iterrows():
for col in df.columns:
if df.loc[index, col] <= b:
df.loc[index, col] = 0.0
else:
df.loc[index, col] = df.loc[index, col] - b
代码有效,但我从熊猫那里得到了这个警告: 正在尝试在 DataFrame 中的切片副本上设置值
有没有更好的方法来做到这一点?
【问题讨论】:
标签: pandas for-loop replace warnings