求助:将指定格式的Pandas DataFrame转换为透视表
Pandas 数据格式转换:生成按设备类型分列的来源类型统计宽表
需求说明
需要将包含「Referrer Type(来源类型)」和「Device Type(设备类型)」的原始数据集,转换为以Referrer Type为行索引、Device Type为列标题,单元格值为对应组合统计数量的宽表格式。
解决方案
可以通过Pandas的两种方法快速实现:
方法1:使用pd.crosstab(直接统计交叉频数)
import pandas as pd # 假设原始数据存储在DataFrame df中 result_df = pd.crosstab(df['Referrer Type'], df['Device Type'])
方法2:使用pivot_table(灵活控制空值填充)
import pandas as pd # 用size统计记录数,fill_value=0填充无数据的单元格 result_df = df.pivot_table( index='Referrer Type', columns='Device Type', aggfunc='size', fill_value=0 )
补充说明
- 两种方法都会自动统计每个「来源类型-设备类型」组合的记录数量
- 若原始数据存在缺失的组合,
fill_value=0会将对应位置填充为0,保证表格结构完整
内容的提问来源于stack exchange,提问作者pankaj sharma
相关产品推荐
相关产品推荐

