pandas报错SettingWithCopyWarning

df2['user_cnt2'] = df2['user_id'].apply(lambda x: user_cnt.get(x, 0))
df2['item_cnt2'] = df2['item_id'].apply(lambda x: item_cnt.get(x, 0))
df2['shop_cnt2'] = df2['shop_id'].apply(lambda x: shop_cnt.get(x, 0))

报错位置如上。

报错信息:

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


报错原因:

检查了程序没毛病,

上网查资料说是,新增项是对原来数据的拷贝,需要添加一个copy。尝试了一下依然报错。

确定程序没毛病。


解决方案:

pd.options.mode.chained_assignment = None  # default='warn'
无视该错误提示。

猜你喜欢

转载自blog.csdn.net/cherry_yu08/article/details/79947562