You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将转换后的变量添加到DataFrame,解决SettingWithCopyWarning

Pandas SettingWithCopyWarning 问题解决方法

出现该警告的核心原因是你当前操作的race_df是从其他DataFrame切片得到的副本,而非独立的DataFrame对象,pandas无法确认你要修改的是副本还是原始DataFrame,因此抛出提醒。

解决步骤

  • 如果需要保留原race_df不变,生成包含转换后列的新DataFrame,执行以下代码:
# 基于原df生成独立副本,避免改动原数据
new_race_df = race_df.copy()
# 用.loc完成列赋值,注意列名要和原列名完全一致,不要额外加空格
new_race_df.loc[:, 'Black or African American'] = new_race_df['Black or African American'].str.rstrip('%').astype(float) / 100
  • 如果可以直接修改原race_df,执行以下代码:
# 先把当前切片副本转为独立DataFrame
race_df = race_df.copy()
# 赋值转换后的百分比数值
race_df.loc[:, 'Black or African American'] = race_df['Black or African American'].str.rstrip('%').astype(float) / 100

额外注意事项

你之前的赋值代码里列名多输入了一个空格,写成了Black or African American,会导致匹配不到原列的问题,注意要和原列名完全一致。

内容的提问来源于stack exchange,提问作者mlboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 07:39:02