Python 对于熊猫系列,应为';t s.sort_索引(in place=True)更改s?

Python 对于熊猫系列,应为';t s.sort_索引(in place=True)更改s?,python,pandas,Python,Pandas,鉴于此代码: 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,都会返回该序列。您需要一个数据帧: s = pd.DataFram

鉴于此代码:

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,都会返回该序列。

您需要一个数据帧:

s = pd.DataFrame([1,2,3], index=['C','B','A'])

s.sort_index(inplace=True)

s
Out[25]: 
   0
A  3
B  2
C  1

inplace
用于数据帧上的工作,而不是系列。对于系列,你必须重新定义它。

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

所以现在,最简单的方法就是在不使用
的情况下使用它:

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

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

sort\u索引
也适用于系列,而不是
inplace
关键字。sort\u索引适用于数据帧和系列。从版本0.17开始,支持inplace关键字。@shanmuga不在0.17.0中,这是我所拥有的,
inplace
不起作用。当我说它在数据帧上工作时,我的意思是关于
inplace
,这就是为什么我说对于系列,你必须重新定义它