python - 如何将数据从熊猫数据框的一列拆分为新数据框的多列
问题描述
我想从这个 pandas 数据框中拆分数据(我们称之为 df1):
YEAR CODE DIFF
2013 XXXX 5.50
2013 YYYY 8.50
2013 ZZZZ 6.50
2014 XXXX 4.50
2014 YYYY 2.50
2014 ZZZZ 3.50
这样我就创建了一个新的数据框(我们称之为 df2),如下所示:
YEAR XXXX_DIFF ZZZZ_DIFF
2013 5.50 6.50
2014 4.50 3.50
我想我是按年份分组并将在 DIFF 中找到的单列结果拆分为特定的 CODE 匹配项。我尝试过这样的事情:
df2 = df1[['YEAR','CODE','DIFF']].query('CODE == "XXXX"')
而且我知道我可以重命名列并删除多余的列,但我不确定如何将 ZZZZ DIFF 值传递给 df2?
解决方案
使用pivot
+ filter
+add_suffix
:
out = (df.pivot(*df).filter(['XXXX','ZZZZ']).add_suffix('_DIFF')
.reset_index().rename_axis(None,axis=1))
print(out)
YEAR XXXX_DIFF ZZZZ_DIFF
0 2013 5.5 6.5
1 2014 4.5 3.5
推荐阅读
- nvidia - 如何完成tensorRT zip安装过程的第三步?
- python - 如何计算每个客户的总销售额?Python
- javascript - 如果存在类,则渲染组件
- javascript - 使用键盘箭头键达到最大值时禁用按钮
- java - 将 MongoDB 查询格式转换为 SQL 查询
- r - 使用 Kable 中的“pack_rows”对每 N 行进行分组/打包
- javascript - 在 Windows 上运行节点
- bash - SED 确保 XML 插入不在注释内
- sql - 两个用户之间交换的消息 SQL Server
- r - “错误:使用 ggplot2 绘制线时,美学必须是长度 1 或与数据相同”