我想用一个calulation(这是comlun值的乘法)替换列中的值。 像这样:
df.loc[:, 'cfit'] = df['cfit'] * df['risk_nr']
我收到以下消息: 正在尝试在DataFrame的切片副本上设置值。 尝试使用.loc [row_indexer,col_indexer] = value 请参阅文档中的警告:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy self.obj [item] = s
这是大熊猫的正确或错误警告吗? 日Thnx
答案 0 :(得分:1)
就这样做:
df['cfit'] = df['cfit'] * df['risk_nr']
甚至:
df['cfit'] *= df['risk_nr']
关于你的问题:我认为在这种特殊情况下这是一个错误的警告,因为df.loc[:, 'cfit']
应该返回一个视图而不是一个副本。您可以使用以下命令关闭警告:
pd.set_option('chained_assignment', None)