我正在尝试向我的数据帧添加一个新列Transactions_Meat
:
Transactions_Meat['Avg_IPrice'] = Transactions_Meat['Rev'] / Transactions_Meat['Units_Sold']
导致此警告:
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
Transactions_Meat
是名为Transactions
的数据帧的副本:
Transactions_Meat = Transactions[Transactions['Category'] == 'Meat']
因此,我尝试使用.loc
,这改变了我的方法:
Transactions_Meat.loc[:,'Avg_IPrice'] = Transactions_Meat['Rev'] / Transactions_Meat['Units_Sold']
不幸的是,我仍然得到同样的警告。我访问了熊猫的文档,如here。我还检查了已经在处理这个问题的stackoverflow-question。但我无法摆脱警告
是否可以使用DataFrame.loc方法删除警告
此行不明确:
如果您想要一个副本,请显式地使用^{} :
这将删除随后的警告,并保证在操作
Transactions_Meat
时不会修改原始的Transactions
数据帧相关问题 更多 >
编程相关推荐