您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

pandas融化功能

pandas融化功能

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]: d2
Out[32]: {'Amy': 'A', 'Ben': 'B', 'Bob': 'B', 'Carl': 'C', 'Chris': 'C'}

In [34]: m['Group'] = m['Name'].map(d2)

In [35]: m
Out[35]:
    Year   Name  value Group
0   2013    Amy      2     A
1   2014    Amy      9     A
2   2013    Bob      4     B
3   2014    Bob      2     B
4   2013   Carl      7     C
..   ...    ...    ...   ...
7   2014  Chris      5     C
8   2013    Ben      1     B
9   2014    Ben      5     B
10  2013  Other      3   NaN
11  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]: m
Out[11]:
    Year   Name  value  Group
0   2013    Amy      2      A
1   2014    Amy      9      A
2   2013    Bob      4      B
3   2014    Bob      2      B
4   2013   Carl      7      C
..   ...    ...    ...    ...
7   2014  Chris      5      C
8   2013    Ben      1      B
9   2014    Ben      5      B
10  2013             3  Other
11  2014             6  Other

[12 rows x 4 columns]
其他 2022/1/1 18:33:45 有404人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶