使用 .loc 创建垃圾箱时收到警告

问题描述

我尝试使用 .loc 创建不同的 bin。

df.loc[df['age'] < 20,'age'] = 1
df.loc[(df['age'] >= 20) & (df['age'] < 40),'age'] = 2
df.loc[(df['age'] >= 40) & (df['age'] < 60),'age'] = 3
df.loc[(df['age'] >= 60) & (df['age'] < 80),'age'] = 4
df.loc[ df['age'] >= 80,'age'] = 5

df['age'] = df['age'].astype(int)

成功了,但我收到了警告:

/Users/john/opt/anaconda3/lib/python3.8/site-packages/pandas/core/indexing.py:1765: SettingWithcopyWarning: 试图在来自 DataFrame 的切片副本上设置值。 尝试使用 .loc[row_indexer,col_indexer] = value 代替

请参阅文档中的注意事项:https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy isetter(loc,value)

我做错了什么或应该做得更好所以它不会出现?我还可以使用 .loc 方法吗?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)