如何统计DataFrame各列UserID出现次数并汇总展示
Pandas统计UserID跨列出现次数
解决方案代码
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({ 'from': [1, 1, 2], 'to': [3, 2, 3] }) # 合并列并统计次数,转换为目标格式 occurrence_df = (pd.concat([df['from'], df['to']]) .value_counts() .reset_index() .rename(columns={'index': 'UserID', 0: 'Occurences'}) .sort_values('UserID') .reset_index(drop=True)) print(occurrence_df)
输出结果
| UserID | Occurences |
|---|---|
| 1 | 2 |
| 2 | 2 |
| 3 | 2 |
代码说明
pd.concat([df['from'], df['to']]):将两列的所有UserID合并为一个一维序列,打破列的限制统一统计.value_counts():自动统计每个唯一UserID的出现频次.reset_index():将原索引(UserID)转为普通列,方便重命名.rename(columns=...):调整列名至需求格式.sort_values('UserID'):按UserID排序以匹配示例输出顺序(可选操作)
内容的提问来源于stack exchange,提问作者schizetia
相关产品推荐
相关产品推荐

