用python中的pandas排序系列

2024-04-28 15:49:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我从a数据框中选择了一列,然后得到了一个系列。我该怎么整理这个系列?我使用了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:此序列是其他数组的视图,若要就地排序,必须创建一个副本

所以我使用Series.copy()函数来复制序列,然后我对序列进行排序,但是没有结果。

df['A'].copy().sort()

但没有返回结果。

我怎样才能解决这个问题?


Tags: 数据dataframedf排序错误序列sort整理
3条回答

But there is no result returned.

这是因为排序已就位,它将修改对象。试试这个

A = df['A'].copy()
A.sort()
print(A)

由于sort()函数已弃用,因此必须使用sort_values(inplace=True)进行就地排序(source)。

所以代码应该是这样的:

A = df['A'].copy()
A.sort_values(inplace=True)

其中一个会为你工作-

df.sort('A',ascending=False,inplace=True)  #old version
df.sort_values('A',ascending=False,inplace=True) #new version

相关问题 更多 >