【问题标题】:Pandas Concatenation no longer has sort keyword argumentPandas Concatenation 不再有排序关键字参数
【发布时间】:2018-10-05 13:14:11
【问题描述】:

在我的代码中,我应用了pd.concat(sort=false)。但由于包已更新,sort 关键字参数不再可用。

还有哪些其他选项可以做到这一点?

【问题讨论】:

  • 我很困惑,你要不要连接和排序?你的帖子说sort=False,但你的标题似乎暗示你想要排序。
  • 我认为您有点卑鄙地否决了答案,尤其是对于新贡献者(欢迎 Shivam!),而不是试图理解对我来说似乎是一个非常好的问题(我可能错了,我自己不会在这里太多......)。我见过几次 pandas 在更新 conda 环境时被降级,我猜想它在引入 sort 关键字时让我们很多人感到惊讶(我们都发现了一个警告,我不得不花一些时间来了解发生了什么...... .).

标签: python pandas data-science preprocessor


【解决方案1】:

sort 关键字参数是在 0.23.0 版中引入的(参见 what’s new),以便允许用户控制不需要的效果(仅在 join=outer 的情况下自动排序非连接轴上的索引) .

看来,在您的更新期间,熊猫被降级了。您是否可以保留 >= 0.23.0 的版本?

如果不是,您可能需要查看相关的 pandas 问题以寻找解决方法(基本上您必须在调用后unsort)。

编辑

通过issue,我发现最好的解决方法是:

“我的解决方法是使用 Itertools 食谱中的 unique_everseen。”

columns = unique_everseen([column for df in dfs for column in df.columns])
df = pd.concat(dfs)[columns]

【讨论】:

  • 你说得对,包降级了,现在我更新了包,问题解决了。
猜你喜欢
  • 2018-12-08
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 2011-06-11
  • 2019-11-02
  • 2021-02-15
  • 1970-01-01
相关资源
最近更新 更多