Выполните итерацию по фрейму данных для одновременного поворота нескольких пар столбцов - PullRequest
0 голосов
/ 25 января 2019

У меня есть фрейм данных следующим образом:

<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 при каждом повороте пары столбцов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...