首页  >  文章  >  后端开发  >  Pandas 如何融化和字典操作将宽数据框重塑为整齐的格式?

Pandas 如何融化和字典操作将宽数据框重塑为整齐的格式?

Patricia Arquette
Patricia Arquette原创
2024-11-22 00:49:12825浏览

How Can Pandas Melt and Dictionary Manipulation Reshape a Wide Dataframe into a Tidy Format?

Pandas Melt 函数:轻松重塑数据帧

Pandas Melt 函数是一个强大的工具,用于重塑数据帧,将宽数据转换为长而整齐的格式。这使得数据更容易分析和操作。

问题:重塑数据框

考虑以下数据框和字典:

df = pd.DataFrame([[2, 4, 7, 8, 1, 3, 2013], [9, 2, 4, 5, 5, 6, 2014]], columns=['Amy', 'Bob', 'Carl', 'Chris', 'Ben', 'Other', 'Year'])

d = {'A': ['Amy'], 'B': ['Bob', 'Ben'], 'C': ['Carl', 'Chris']}

目标是将数据框重塑为带有附加列的整洁格式:

    Group   Name  Year  Value
0      A    Amy  2013      2
1      A    Amy  2014      9
2      B    Bob  2013      4
...
10  Other         2013      3
11  Other         2014      6

使用熔化和重塑字典

仅熔化函数无法完成转换。为了获得想要的结果,我们还需要操作字典:

m = pd.melt(df, id_vars=['Year'], var_name='Name')

d2 = {}
for k, v in d.items():
    for item in v:
        d2[item] = k

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

处理“其他”值

最后,我们将“其他”从“名称”列移动到“组”列:

mask = m['Name'] == 'Other'
m.loc[mask, 'Name'] = ''
m.loc[mask, 'Group'] = 'Other'

生成的数据框现在与所需的格式匹配。融合函数与一些额外的操作相结合,提供了一种灵活有效的方式来重塑数据帧。

以上是Pandas 如何融化和字典操作将宽数据框重塑为整齐的格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn