Sorts Series object, by value, maintaining index-value link. This will return a new Series by default. Series.sort is the equivalent but as an inplace method.
To sort by the values (A * marks items that will show a FutureWarning):
Previous | Replacement
------------------------------|-----------------------------------
* Series.order() | Series.sort_values()
* Series.sort() | Series.sort_values(inplace=True)
* DataFrame.sort(columns=...) | DataFrame.sort_values(by=...)
你的问题:这是两种方法之间唯一的区别吗?
熊猫0.17.0最终发布之前(即2015-10-09之前)
简短回答:是的。它们在功能上是等价的。
更长的答案:
^{} :更改对象本身(就地排序),但不返回任何内容。
所以
没有输出。有关详细信息,请参见the answer here。
^{} :不更改对象,而是返回一个新的排序对象。
熊猫0.17.0最终发布后(即2015-10-09之后)
排序的API是changed,事情变得更干净、更愉快。
要按值排序,不推荐使用} api,它返回一个已排序的序列对象。
Series.sort()
和Series.order()
,取而代之的是新的^{总结这些变化(摘自pandas 0.17.0doc):
查看pandas源代码(并跳过docstring)
将此与声明的订单行进行比较(我使用的是0.14.1)
您可以看到,由于sort调用order函数,除了默认参数之外,这两个函数在hood下的所有意图和用途都是相同的。
如问题中所述,sort
inplace = True
和orderinplace = False
的inplace
参数的默认值不同,但在行为上没有其他差异。另一个唯一的区别是order有一个附加的(但不推荐使用的)参数,其形式是
na_last
,不能与sort一起使用(无论如何也不应该使用)。相关问题 更多 >
编程相关推荐