【发布时间】:2016-03-22 16:29:20
【问题描述】:
我从 DataFrame 中选择一列,然后得到一个 Series。如何对系列进行排序?我使用了 Series.sort(),但它不起作用。
df = pd.DataFrame({'A': [5,0,3,8],
'B': ['B8', 'B9', 'B10', 'B11']})
df
A B
0 5 B8
1 0 B9
2 3 B10
3 8 B11
然后我选择了“A”列
df['A']
A
0 5
1 0
2 3
3 8
选择“A”列后,我得到了一个系列,但使用 Series.sort(),它不起作用。
df['A'].sort()
显示错误:
"ValueError: This Series 是其他数组的视图,要就地排序,您必须创建一个副本"
所以我使用 Series.copy() 函数复制系列,然后对系列进行排序,但没有结果。
df['A'].copy().sort()
但是没有返回结果。
我该如何解决这个问题?
【问题讨论】:
-
你用的是什么版本的熊猫?
df['A'].sort_values()有效吗? -
嗨 @EdChum,我使用的是 0.16.2 版本,但 sort_values() 看起来也已弃用。
-
sort_values是新方法,sort在以后的版本中已弃用,请注意这一点