【问题标题】:Pandas: unexpected keyword argument 'sort' when running on S3Pandas:在 S3 上运行时出现意外的关键字参数“排序”
【发布时间】:2020-07-14 04:25:23
【问题描述】:

我正在使用以下代码行来检查我的所有列是否存在,如果不存在则创建它们并用 0 填充

pivot_df = pivot_df.reindex(pivot_df.columns.union(cols, sort=False), axis=1, fill_value=0)

脚本在 S3 上运行,在日志中我收到此错误:

第 125 行,运行中
pivot_df = pivot_df.reindex(pivot_df.columns.union(cols, sort=False), axis=1, fill_value=0)

TypeError: union() 得到了一个意外的关键字参数“排序”

这显然是问题所在,但奇怪的是,如果我手动运行代码,我不会收到任何错误,而且它会在 S3 上保存。

经过同样的研究发现这个bug是pandas更新引起的,大部分解决方法都是指重装scorecardpy

我不完全确定这是否是我的情况,因为它是手动运行的,而且由于我缺乏经验,99% 的时间都会出现错误。

谁能告诉我我做错了什么?

【问题讨论】:

  • sort 已添加到 0.24.0 union,请查看 pandas 的版本。
  • 如果我删除 sort = False,默认情况下将其设置为 True 并且错误仍然会发生正确吗?
  • @Christian:如果它不存在则不会。您的 S3 上使用的是什么版本的 pandas?
  • 所以pandas版本是0.23.4。这就是问题

标签: python pandas amazon-s3


【解决方案1】:

从 Sushanth 和 BrenBarn 的 cmets 开始,我会发布答案,以防其他人遇到同样的问题。

正如伙计们在 cmets 中所说,问题是由于 pandas 版本而引起的。 由于它在我的本地电脑上运行,我在 pandas 命令提示符下使用pip show pandas 检查了我的 pandas 版本,并用我自己的更改了需求文件中的版本。之后再次推送到 S3,git 将自动安装新的依赖项。

在需求文件中应该是这样的

pandas==0.24.2

【讨论】:

    猜你喜欢
    • 2018-12-03
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 2019-10-07
    相关资源
    最近更新 更多