我已经编写了这段代码并得到了结果。现在我想要 3 个计数列的这些单独的 3 个计数值的总和。我该怎么做?
new = (pd.concat([df[x].groupby(df[x]).size().to_frame('Count').sort_values(by='Count',ascending=False).reset_index()
for x in df.columns],axis=1))[:10]
new
上述代码的结果:
我想要 3 个计数列的这些单独的 3 个计数值的总和。
我无法重现具有相同名称的三列的 pandas 数据框,但这就是我认为您正在寻找的内容?
第一步:编一些无意义的数据
import pandas as pd
new = pd.DataFrame({'0': ['blah', 'cjgv', 'ldfjnv', 'fjgv'],
'Count_x': [2, 6, 7, 12],
'1': ['dkjf', 'lckn', 'ckjn', 'ckjn'],
'Count_y': [10, 12, 3, 4],
'2': ['qw', 'kfc', 'ed', 'ewd'],
'Count_z': [56, 12, 13, 14]})
new
看起来像这样:
0 | 计数_x | 1 | Count_y | 2 | 计数_z | |
---|---|---|---|---|---|---|
0 | 废话 | 2 | dkjf | 10 | qw | 56 |
1 | cjgv | 6 | lckn | 12 | 肯德基 | 12 |
2 | ldfjnv | 7 | ckjn | 3 | ed | 13 |
3 | fjgv | 12 | ckjn | 4 | 呃 | 14 |
第 2 步:使用以下内容获取每个“计数”列的总数:
new[['Count_x', 'Count_y', 'Count_z']].sum(axis=0)
产生:
Count_x 27
Count_y 29
Count_z 95
dtype: int64