You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将左侧表格转换为右侧汇总表格?已尝试get dummies函数

从get_dummies到汇总表格的后续操作

假设你的左侧数据是按单条记录存储(比如每行对应一个用户的单个类别标签),右侧是按用户/分组维度汇总各类别的计数,以下是完成转换的具体步骤:

1. 合并分组列与虚拟变量

用get_dummies生成0/1虚拟变量后,把原数据中的分组标识列(比如用户ID、分组名称)和虚拟变量列合并,保留分组维度:

import pandas as pd

# 示例:原数据df包含'用户ID'和'类别'列
dummies_df = pd.get_dummies(df['类别'])
# 合并分组列与虚拟变量
combined_df = pd.concat([df['用户ID'], dummies_df], axis=1)

2. 按分组列汇总求和

因为虚拟变量中1代表对应类别出现,对分组列执行groupby+sum操作,就能得到每个分组下各类别的总出现次数:

# 按用户ID分组,对所有虚拟变量列求和
summary_table = combined_df.groupby('用户ID').sum().reset_index()

3. 格式调整(按需)

如果需要匹配目标表格的表头或列顺序,可以手动调整:

# 示例:重命名列名
summary_table = summary_table.rename(columns={'类别A': '类别A计数', '类别B': '类别B计数'})
# 调整列顺序
summary_table = summary_table[['用户ID', '类别A计数', '类别B计数']]

示例验证

假设左侧原始数据:

用户ID类别
101音乐
101体育
102音乐
103读书

经get_dummies合并后:

用户ID音乐体育读书
101100
101010
102100
103001

分组求和后得到右侧汇总表:

用户ID音乐体育读书
101110
102100
103001

内容的提问来源于stack exchange,提问作者L Cornwall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:53:17