मैं df111 को df222 में पिवट करने की कोशिश कर रहा हूं:

enter image description here enter image description here

   ID1 ID2 Type  Value
0   1   a    X      1
1   1   a    Y      2
2   1   b    X      3
3   1   b    Y      4
4   2   a    X      5
5   2   a    Y      6
6   2   b    X      7
7   2   b    Y      8



   ID1 ID2  X Value  Y Value
0   1   a        1        2
1   1   b        3        4
2   2   a        5        6
3   2   b        7        8

मैंने df111.pivot() और df111.groupby() के साथ प्रयास किया लेकिन कोई भाग्य नहीं। क्या कोई मुझे वन-लाइनर फेंक सकता है? धन्यवाद

-3
uqji 16 अगस्त 2019, 05:27

2 जवाब

सबसे बढ़िया उत्तर

यदि आपके पास पिवट_टेबल फ़ंक्शन है, तो आप पिवट क्यों प्रदान करते हैं? यह सिर्फ भ्रमित करने वाला है ...

df333 = pd.pivot_table(df111, index=['ID1','ID2'], columns=['Type'], values='Value')
df333.reset_index()
1
uqji 16 अगस्त 2019, 06:04
df222 = (df111.set_index(['ID1', 'ID2','Type']).unstack()
     .add_suffix(' Value'))
df222.columns=[lev[1] for lev in df222.columns]
df222.reset_index(inplace=True)
0
moys 16 अगस्त 2019, 06:50