Python Pandas:计数一个数字出现的次数

2024-09-28 22:38:44 发布

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

我已经搜索了很长时间,我需要你的帮助,我是python和panda lib的新手。我有一个从csv文件中收费的数据帧:

ball_1,ball_2,ball_3,ball_4,ball_5,ball_6,ball_7,extraball_1,extraball_2
10,32,25,5,8,19,21,3,4
43,12,8,19,4,37,12,1,5
12,16,43,19,4,28,40,2,4

ball_X是介于1-50之间的整数,extraball_X是介于1-9之间的整数。我想计算每个数字在其他两帧中出现的次数,如下所示: 第一个DF球:

Number,Score
1,128
2,34
3,12
4,200
....
50,145

第二个球:

Number,Score
1,340
2,430
3,123
4,540
....
9,120

我脑子里有算法,但我太笨了,无法把它翻译成代码。 我希望这足够清楚,有人能帮助我。如果你有问题,不要犹豫


Tags: 文件csv数据numberdflib数字整数
1条回答
网友
1楼 · 发布于 2024-09-28 22:38:44

groupby在{}上与{}

def get_before_underscore(x):
    return x.split('_', 1)[0]

val_counts = {
    k: d.stack().value_counts()
    for k, d in df.groupby(get_before_underscore, axis=1)
}

print(val_counts['ball'])

12    3
19    3
4     2
8     2
43    2
32    1
5     1
10    1
37    1
40    1
16    1
21    1
25    1
28    1
dtype: int64

print(val_counts['extraball'])

4    2
1    1
2    1
3    1
5    1
dtype: int64

相关问题 更多 >