鉴于此代码:

s = pd.Series([1,2,3], index=['C','B','A'])
s.sort_index(inplace=True)
s 现在不应该是这样的:
A    3
B    2
C    1
dtype: int64

当我运行它时,s 保持不变。也许我对 inplace 参数应该做什么感到困惑。我认为它应该更改调用该方法的系列。

为了记录,这确实返回排序的系列,但无论您是否将 inplace 设置为 True,它都会返回。

最佳答案

你的期望确实是正确的。然而,这在 0.17 之前还没有实现/0.17 中的一个错误,这个关键字被忽略而不是引发错误(像以前一样)。但是将在即将发布的 0.17.1 版本中发布修复程序。

https://github.com/pydata/pandas/pull/11422

所以现在,最简单的就是在没有 inplace 的情况下使用它:

In [4]: s = s.sort_index()

In [5]: s
Out[5]:
A    3
B    2
C    1
dtype: int64

关于python - 对于 Pandas 系列,不应该 s.sort_index(inplace=True) 改变 s 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33617439/

10-10 04:18