python - 聚合 Pandas 数据框中的列数据
问题描述
我有一个数据框,如下所示:
col1 = ['a','b','c','a','c','a','b','c','a']
col2 = [1,1,0,1,1,0,1,1,0]
df2 = pd.DataFrame(zip(col1,col2),columns=['name','count'])
name count
0 a 1
1 b 1
2 c 0
3 a 1
4 c 1
5 a 0
6 b 1
7 c 1
8 a 0
我正在尝试计算“名称”列中每个元素对应的 0 和 1 的数量。所以预期的输出看起来像:
name zero_count one_count
a 2 2
b 0 2
c 1 2
到目前为止,我尝试了许多场景,其中一个看起来很有希望的是:
ser = df2.groupby(['name','count']).size().to_frame().reset_index()
ser
name count 0
0 a 0 2
1 a 1 2
2 b 1 2
3 c 0 1
4 c 1 2
我还可以尝试解决哪些问题?
解决方案
尝试crosstab
pd.crosstab(df2['name'], df2['count'])
Out[40]:
count 0 1
name
a 2 2
b 0 2
c 1 2
推荐阅读
- vba - 循环遍历一张表中的列值并将另一列中的 COUNTIF 值粘贴到另一张表中
- firebase - 如何在 Firestore 中启用持久性存储?
- google-calendar-api - 如何通过他们的 v3 FreeBusy API 使用谷歌的“有趣的日历”?
- vb.net - TableAdapter:查询值和目标字段的数量不一样
- javascript - 3D CSS 场景在 Safari 中无法正确显示
- javascript - 您可以更改笔记本中 js 文件中的文本并进行更新吗?
- angular - 离子代理的问题
- python - google Pub/Sub 异步拉取订阅者中的回调函数超时/中断
- python - 为什么长名称的函数比相同的小名称函数更快?
- angular - ngx-datatable 在对 Angular 6 的行详细信息表进行排序时给出“rxjs_1.fromEvent 不是函数”