melt带您到那里。
In [29]: m = pd.melt(df, id_vars=['Year'], var_name='Name')
除了一切都有
Group。为了做到这一点,我们还需要重塑
d一点。
In [30]: d2 = {}In [31]: for k, v in d.items(): for item in v: d2[item] = k ....:In [32]: d2Out[32]: {'Amy': 'A', 'Ben': 'B', 'Bob': 'B', 'Carl': 'C', 'Chris': 'C'}In [34]: m['Group'] = m['Name'].map(d2)In [35]: mOut[35]: Year Name value Group0 2013 Amy 2 A1 2014 Amy 9 A2 2013 Bob 4 B3 2014 Bob 2 B4 2013 Carl 7 C.. ... ... ... ...7 2014 Chris 5 C8 2013 Ben 1 B9 2014 Ben 5 B10 2013 Other 3 NaN11 2014 Other 6 NaN[12 rows x 4 columns]
并将“其他”从
Name转移到
Group
In [8]: mask = m['Name'] == 'Other'In [9]: m.loc[mask, 'Name'] = ''In [10]: m.loc[mask, 'Group'] = 'Other'In [11]: mOut[11]: Year Name value Group0 2013 Amy 2 A1 2014 Amy 9 A2 2013 Bob 4 B3 2014 Bob 2 B4 2013 Carl 7 C.. ... ... ... ...7 2014 Chris 5 C8 2013 Ben 1 B9 2014 Ben 5 B10 2013 3 Other11 2014 6 Other[12 rows x 4 columns]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)