【发布时间】:2013-08-23 02:05:58
【问题描述】:
在对整个 pandas 数据框执行计算后,我需要返回并根据另一个变量的值覆盖变量计算(通常设置为零)。有没有更简洁/惯用的方式来执行这种操作?
df['var1000'][df['type']==7] = 0
df['var1001'][df['type']==7] = 0
df['var1002'][df['type']==7] = 0
...
df['var1099'][df['type']==7] = 0
有没有熊猫的方式来做这样的事情?
if (df['type']==7):
df['var1000'] = 0
df['var1001'] = 0
df['var1002'] = 0
...
df['var1099'] = 0
【问题讨论】:
-
@cs95 这是 4 年后发布的问题的副本?
-
@ayorgo 重复项不仅必须根据时间顺序进行修复。 IMO 另一个问题中的两个答案都比下面的答案(使用不推荐使用的函数来添加内容)做得更好(更好)。
-
@cs95 我敢打赌,如果在 meta 上提及它会引发相当大的争论。哦,等等...meta.stackexchange.com/a/147651 看起来是合法的,虽然使横幅具有误导性。顺便说一句,我注意到的原因是因为来自pandas.pydata.org/pandas-docs/stable/user_guide/… 的引用