Pandas DataFrame循环处理问题 使用.transpose()转换格式失败求助
Pandas DataFrame结构转换通用解决方案
以下为.transpose()无法满足转换需求时的常用处理方案:
- 若需将原表某行字段转为列维度,使用
pivot()方法,核心参数为index(保留为行的字段)、columns(需转为列的字段)、values(单元格填充值对应的字段) - 若转换过程中存在重复键需要聚合,使用
pivot_table()方法,可通过aggfunc参数指定求和、均值、计数等聚合规则 - 若为列转行的宽表转长表需求,使用
melt()方法,id_vars参数指定保留的标识列,value_vars参数指定需转为行值的列 - 若原表为多层索引结构,先调用
reset_index()将索引转为普通列后再执行转换操作,转换完成后可按需调用set_index()重新设置索引 - 若转换逻辑高度定制无内置方法适配,可通过
iterrows()/itertuples()遍历原表逐行处理,将处理结果组装为列表后直接新建目标DataFrame
内容的提问来源于stack exchange,提问作者Deboky Saha
相关产品推荐
相关产品推荐

