我有一个python数据框,我需要重组以适应用例。
数据框如下:
index | Probability
Value1 | .98
Value2 | .90
Value3 | .85
Value4 | .80
我需要重构数据帧,如下所示,第一行是标题:
Match1 | Probab1 | Match2 | Prob2 | Match3 | Prob3 | Match4 | Prob4
Value1 | .98 | Value2 | .90 | Value2 | .85 | Value4 | .80
使用Pandas和Python有一种简单的方法吗?
答案 0 :(得分:1)
stack
+ transpose
会通过一些重命名来获得您想要的效果。如果index
实际上是您的索引,请执行df = df.reset_index()
import pandas as pd
print(df)
# index Probability
#0 Value1 0.98
#1 Value2 0.90
#2 Value3 0.85
#3 Value4 0.80
df = df.stack().reset_index()
# Rename things
df.loc[df.level_1 == 'index', 'level_1'] = 'Match' + (df.loc[df.level_1 == 'index', 'level_0']+1).astype('str')
df.loc[df.level_1 == 'Probability', 'level_1'] = 'Prob' + (df.loc[df.level_1 == 'Probability', 'level_0']+1).astype('str')
df = df.drop(columns='level_0').T.reset_index(drop=True)
df
现在是:
0 1 2 3 4 5 6 7
0 Match1 Prob1 Match2 Prob2 Match3 Prob3 Match4 Prob4
1 Value1 0.98 Value2 0.9 Value3 0.85 Value4 0.8