У меня есть фрейм данных следующим образом:
<df=pd.DataFrame({'X1':['A1','B1'], 'Y1':np.random.rand(2),'X2':['A2','B2'],
'Y2':np.random.rand(2),'X3':['A3','B3'], 'Y3':np.random.rand(2)})>
X1 Y1 X2 Y2 X3 Y3
0 A1 0.560849 A2 0.78078 A3 0.083679
1 B1 0.332129 B2 0.82732 B3 0.904991
, и мне нужно повернуть его так:
A1 B1 A2 B2 A3 B3
0 0.560849 0.000000 0.78078 0.00000 0.083679 0.000000
1 0.000000 0.332129 0.00000 0.82732 0.000000 0.904991
Я могу сделать это, используя следующий код:
<piv_1=df.pivot(index=None,columns='X1',values='Y1').fillna(0)>
<piv_2=df.pivot(index=None,columns='X2',values='Y2').fillna(0)>
<piv_3=df.pivot(index=None,columns='X3',values='Y3').fillna(0)>
<df_piv=pd.concat([piv_1,piv_2,piv_3],axis=1)>
Однако есть ли способ, по которому я могу перебирать столбцы фрейма данных, чтобы мне не приходилось вручную вызывать df.pivot при каждом повороте пары столбцов?