有没有办法得到第一个元素并计算它在pandas中的列中出现的次数?

2024-04-23 22:47:33 发布

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

我正在尝试获取多列中的第一个元素,并计算该值出现的次数。你知道吗

A       B
1,2,3 23,4,5
2     54 
2     2
result
1  1
2  3
54 1
32 1

Tags: 元素result次数
1条回答
网友
1楼 · 发布于 2024-04-23 22:47:33

Series使用^{},然后^{}通过索引选择第一个值,必要时转换为整数并按^{}计数,必要时最后排序:

s = df.stack().str.split(',').str[0].astype(int).value_counts().sort_index()
print (s)
1     1
2     3
23    1
54    1
dtype: int64

如果需要2列数据帧:

df1 = (df.stack()
         .str.split(',')
         .str[0]
         .astype(int)
         .value_counts()
         .sort_index()
         .rename_axis('result')
         .reset_index(name='counts'))
print (df1)
   result  counts
0       1       1
1       2       3
2      23       1
3      54       1

相关问题 更多 >