端午吃饱没 2023-01-21 19:33 采纳率: 57.9%
浏览 50
已结题

Python出现警告:A value is trying to be set on a copy of a slice from a DataFrame.

Python出现警告: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.

df["a"] = target["a"].str.strip().copy()

试了copy(),还是会出现报错。是什么原因呢?谢谢!

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-01-21 22:10
    关注
    • 你可以参考下这篇文章:一个DataFrame赋值的诡异报错 A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc
    • 除此之外, 这篇博客: python处理空缺值中的 2.2A value is trying to be set on a copy of a slice from a DataFrame 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 在python中默认的切片数据类型是“只读不能写”的,就比如生物实验中的切片,仅供观赏,而使用loc函数定位到的是原dataframe中的列,所以可修改。

      See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy

      只不过是个warning,不影响程序跑 ;p

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月11日
  • 已采纳回答 2月3日
  • 创建了问题 1月21日