如何对DataFrame进行透视操作 实现指定列不同值转为新表表头
解决方案
你可以通过先给每个ver分组添加组内序号,再执行透视的方式得到目标结果,完整实现代码如下:
import pandas as pd # 构造原始DataFrame,你可以替换为自己读取的数据 df = pd.DataFrame({ 'ver': ['a', 'b', 'b', 'a', 'b', 'b', 'a', 'a'], 'time': [2.31, 3.45, 3.75, 2.21, 3.87, 4.02, 1.97, 3.56] }) # 步骤1:为同一ver下的元素按出现顺序生成组内序号,作为透视的行对齐依据 df['group_idx'] = df.groupby('ver').cumcount() # 步骤2:执行透视转换,删除多余的序号列 result_df = df.pivot(index='group_idx', columns='ver', values='time').reset_index(drop=True) # 输出验证 print(result_df)
运行后输出的result_df就是你需要的结构:
| a | b |
|---|---|
| 2.31 | 3.45 |
| 2.21 | 3.75 |
| 1.97 | 3.87 |
| 3.56 | 4.02 |
内容的提问来源于stack exchange,提问作者sd5
相关产品推荐
相关产品推荐

