pandas :如何根据特定值分配组号? [英] Pandas : How can I assign group number according to specific value?
本文介绍了 pandas :如何根据特定值分配组号?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
DataFrame
DataFrame
pd.DataFrame({'a': range(20)})
>>
a
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
预期结果:
a group_num
0 0 1
1 1 1
2 2 2
3 3 2
4 4 3
5 5 3
6 6 4
7 7 4
8 8 5
9 9 5
10 10 6
11 11 6
12 12 7
13 13 7
14 14 8
15 15 8
16 16 9
17 17 9
18 18 10
19 19 10
我要执行的操作是根据其值从1到9分配组号.
What I want to do is to assign group number, from 1 to 9, according to its value.
这个想法是对这些值进行排序并将它们分为10组,并从1到9分配给每个组.
The idea is to sort these values and split them into 10 groups and assign from 1 to 9 to each group.
但是不知道如何在Pandas
需要您的帮助
推荐答案
我认为需要 qcut
用于大小均匀的垃圾箱:
I believe need qcut
for evenly sized bins:
df['b'] = pd.qcut(df['a'], 10, labels=range(1, 11))
print (df)
a b
0 0 1
1 1 1
2 2 2
3 3 2
4 4 3
5 5 3
6 6 4
7 7 4
8 8 5
9 9 5
10 10 6
11 11 6
12 12 7
13 13 7
14 14 8
15 15 8
16 16 9
17 17 9
18 18 10
19 19 10
这篇关于 pandas :如何根据特定值分配组号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文