【发布时间】: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。这就是问题