gpt4 book ai didi

python - Pandas 数据框按值出现的顺序对值进行分组

转载 作者:行者123 更新时间:2023-11-30 22:39:29 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

A

想要创建一个新的数据框,它采用 A 和 B 的值并将它们排列如下:

B

最佳答案

您需要创建一个新列,它本质上是 A 中每个值的子索引。然后您可以根据子索引进行排序。

df = pd.DataFrame([[1,40],[1,39],[1,73],
[2,58],[2,65],[2,22],
[3,9],[3,0],[3,21]], columns=list('AB'))

for a in df.A.unique():
df.loc[df.index[df.A==a],'x'] = list(range(sum(df.A==a)))

df
# returns:
A B x
0 1 40 0
1 1 39 1
2 1 73 2
3 2 58 0
4 2 65 1
5 2 22 2
6 3 9 0
7 3 0 1
8 3 21 2

df.sort_values(by=['x','A'])[['A','B']]
# returns:
A B
0 1 40
3 2 58
6 3 9
1 1 39
4 2 65
7 3 0
2 1 73
5 2 22
8 3 21

关于python - Pandas 数据框按值出现的顺序对值进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43152335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com