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

如何在GeoPandas中消除SettingWithCopyWarning警告(非copy_on_write模式)

解决GeoPandas的SettingWithCopyWarning警告(无需开启copy_on_write)

这个警告的核心问题是你当前使用的df其实是另一个DataFrame的切片副本,并非独立的原始对象——哪怕改用.loc语法赋值,pandas依然能检测到你在修改副本而非原数据,所以警告会持续出现。

解决方法:

  • 先将df转为独立副本:在赋值操作前,显式创建df的独立副本,切断它和原DataFrame的关联:
    # 先生成独立副本
    df = df.copy()
    # 再执行赋值操作
    df.loc[:, 'b'] = df.loc[:, 'a'].str.split("_").str.get(0)
    
  • 使用assign方法创建新列:assign会直接返回包含新列的新DataFrame,全程不修改原对象,也能避开警告:
    df = df.assign(b=df['a'].str.split("_").str.get(0))
    

验证原因(可选):

你可以先检查df是否为副本:

print(df._is_copy)

如果输出指向某个原DataFrame,就说明df确实是切片生成的副本,这正是警告的根源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 17:05:09