パンダは、複数のピボットテーブルを結合します

CHRD:

私が持っていると仮定しdf1piv1、、およびpiv2以下:

df1 = pd.DataFrame({'R': [1, 2], 'S': ['s1', 's2'], 'G1': ['g1a', 'g1b'], 'G2': ['g2a', 'g2b']})

df1
    R   S   G1  G2
0   1   s1  g1a g2a
1   2   s2  g1b g2b

piv1 = df1.pivot_table(index=(['S']), columns=(['G1']), aggfunc=({'R': 'mean'}))

piv1
        R
G1  g1a g1b
S       
s1  1.0 NaN
s2  NaN 2.0

piv2 = df1.pivot_table(index=(['S']), columns=(['G2']), aggfunc=({'R': 'mean'}))

piv2
        R
G2  g2a g2b
S       
s1  1.0 NaN
s2  NaN 2.0

代わりにpiv1piv2、私がしようとしていますpiv3以下のようになります。何か案は?理想的には私が作成したいpiv3から直接df1(すなわち作成する必要がないpiv1piv2し、それらを組み合わせました)。

piv3
S   g1a  g1b  g2a  g2b
s1  1.0  NaN  1.0  NaN
s2  NaN  2.0  NaN  2.0
anky_91:

df.meltそして、pivot_table

df1.melt(['S','R']).pivot_table(index='S',columns='value',values='R').rename_axis(None)

value  g1a  g1b  g2a  g2b
s1     1.0  NaN  1.0  NaN
s2     NaN  2.0  NaN  2.0

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=4741&siteId=1