如何基于现有DataFrame生成含指定列计数新列的新DataFrame
Pandas分组统计cus_Type和ID_type的计数
你可以通过groupby结合size()或count()方法实现需求,再通过reset_index()将分组索引转为普通列,最后重命名计数列即可:
1. 创建示例DataFrame
import pandas as pd data = { 'cus_Type': ['R', 'S', 'R', 'S', 'P', 'B', 'P', 'B', 'K'], 'ID': [100, 100, 101, 102, 103, 104, 105, 106, 108], 'ID_type': ['X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'D'] } df = pd.DataFrame(data)
2. 分组统计生成目标DataFrame
方法一:用size()统计每组行数(适合无缺失值的场景)
result_df = df.groupby(['cus_Type', 'ID_type']).size().reset_index(name='count')
方法二:用count()统计指定列的非缺失值数量(比如统计ID列)
result_df = df.groupby(['cus_Type', 'ID_type'])['ID'].count().reset_index(name='count')
最终结果
运行代码后,result_df的结构如下:
| cus_Type | ID_type | count |
|---|---|---|
| R | X | 2 |
| S | Y | 2 |
| P | X | 2 |
| B | Y | 2 |
| K | D | 1 |
内容的提问来源于stack exchange,提问作者An73798
相关产品推荐
相关产品推荐

