Python开发遇到的一些问题

博客 分享
0 158
优雅殿下
优雅殿下 2023-04-08 19:27:15
悬赏:0 积分 收藏

Python开发遇到的一些问题

1.SettingWithCopyWarning:
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

原因:python中的“变量”其实是一个“标签”,而不是一个“容器”。“链式索引”(chained indexing)而引起的错误或警告!

解决警告的方案:
在截取数据的语句后加一个.copy()复制一份数据给df就可以了。
使用 DafaFrameming.loc[行名, 列名] = 值 的方式去赋值, 而不是使用DataFrame[]的形式去赋值。

如果要更改原始数据,请使用单一赋值操作(loc):
如果想要一个副本,请确保强制让 Pandas 创建副本(.copy()):
强烈不推荐直接关闭警告

2.ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

两个比较的数,数据类型不匹配

  df.astype(int)强制类型转换
  df.JAN_STOCK.apply(Decimal)
  Decimal(df.get("JAN_STOCK").get(i))
  df1 = df2.apply(pd.to_numeric(), errors = 'ignore') 转换成适当数值类型,遇到错误忽略不转换该列

3.'str' object has no attribute 'apply'

采取该方式转换类型:Decimal(df.get("JAN_STOCK").get(i))

posted @ 2023-04-08 19:18  借你耳朵说爱你  阅读(0)  评论(0编辑  收藏  举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2017 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员