python Pandas将多行多列 Dataframe 转换为单行多列 Dataframe

nbysray5  于 2023-04-28  发布在  Python
关注(0)|答案(1)|浏览(113)

我的dataframe如下:
验证码:

df = 

Car measurements                Before      After
amb_temp                        30.268212  26.627491
engine_temp                     41.812730  39.254255
engine_eff                      15.963645  16.607557
avg_mile                        0.700160   0.733307
cor_mile                        0.761483   0.787538

预期输出:

modified_df = 
index amb_temp_Before  amb_temp_after      engine_temp_Before  engine_temp_after ...
0      30.268212            26.627491          41.812730          39.254255  ...

当前输出:

print(df.pivot(columns='index',value=['Before','After']))
    amb_temp   engine_temp                      amb_temp 
0   30.268212   NaN     NaN     NaN     NaN     26.627491   NaN     NaN     NaN     NaN
1   NaN     NaN     NaN     41.81273    NaN     NaN     NaN     NaN     39.254255   NaN
2   NaN     NaN     NaN     NaN     15.963645   NaN     NaN     NaN     NaN     16.607557
3   NaN     NaN     0.70016     NaN     NaN     NaN     NaN     0.733307    NaN     NaN
4   NaN     0.761483    NaN     NaN     NaN     NaN     0.787538    NaN     NaN     NaN
pftdvrlh

pftdvrlh1#

你可以通过一些堆栈来做到这一点:

tmp = df.set_index("Car measurements").stack()
tmp.index = ["_".join(i) for i in tmp.index]
result = tmp.to_frame().T

不过,我不明白你为什么要这样做,因为原始的 Dataframe 更容易分析。

相关问题