Pandas Melt 函数:重塑工具
问题
考虑一个 DataFrame df 和一个字典 d。您的目标是将 df 重塑为具有附加列(即“组”和“名称”)的表。所需的输出应类似于:
Group Name Year Value 0 A Amy 2013 2 1 A Amy 2014 9 2 B Bob 2013 4 3 B Bob 2014 2 4 B Ben 2013 1 5 B Ben 2014 5 6 C Carl 2013 7 7 C Carl 2014 4 8 C Chris 2013 8 9 C Chris 2014 5 10 Other 2013 3 11 Other 2014 6
解决方案
为了实现此重塑,我们将利用 Pandas 熔化函数。
m = pd.melt(df, id_vars=['Year'], var_name='Name')
这将创建一个熔化的 DataFrame m 包含“年份”、“名称”和“值”列。要添加 Group 列,我们按如下方式重塑 d:
d2 = {} for k, v in d.items(): for item in v: d2[item] = k
然后将 d2 映射到 m['Name'] 以填充 Group 列。
m['Group'] = m['Name'].map(d2)
最后,我们将“其他”值从“名称”移动到“组”:
mask = m['Name'] == 'Other' m.loc[mask, 'Name'] = '' m.loc[mask, 'Group'] = 'Other'
生成的 DataFrame m 将与所需的匹配输出。
以上是Pandas'melt”函数如何使用附加组和名称列重塑数据框?的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了由于语法歧义而导致的Python中元组理解的不可能。建议使用tuple()与发电机表达式使用tuple()有效地创建元组。(159个字符)

本文解释了Python中的模块和包装,它们的差异和用法。模块是单个文件,而软件包是带有__init__.py文件的目录,在层次上组织相关模块。

文章讨论了Python中的Docstrings,其用法和收益。主要问题:Docstrings对于代码文档和可访问性的重要性。

本文讨论了Python中的“ Pass”语句,该语句是函数和类等代码结构中用作占位符的空操作,允许在没有语法错误的情况下实现将来实现。

文章在Python中讨论 /和//运营商: / for for True Division,//用于地板部门。主要问题是了解它们的差异和用例。Character数量:158


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版
中文版,非常好用

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)