【发布时间】:2018-05-15 18:33:40
【问题描述】:
我想获取Series 并对其进行更改,我想稍后在DataFrame 中反映出来。但是,如果没有SettingWithCopyWarning,我无法理解如何做到这一点。这是误报还是我做错了什么?
df = pd.DataFrame([[1,2,3],[4,5,6]], columns=list('abc'))
df['d'] = df['a'].diff()
d = df.loc[:, 'd']
d.loc[d>0] *= 3
我已阅读文档(是的,我在询问之前确实阅读了 this question,但它只处理 DataFrames 而不是系列),但无法弄清楚如何解决这个问题。我不想禁用警告,因为我有代码不想在不经意间犯这种类型的错误。
【问题讨论】:
-
仅供参考,我为此主题创建了一个标签chained-assignment。也许它应该重命名为 SettingWithCopyWarning,因为链式赋值可能有更广泛的编程上下文/范围。
标签: python pandas chained-assignment