python - 基于列和行值组合两个熊猫数据框
问题描述
首先,我以前没有发现这个问题 - 可能是因为我没有使用正确的词来问它。因此,如果有人问过,请向那个方向发送我。
如何根据列和行组合两个熊猫数据框。我的主要数据框有一列“年”和一列“县”等。理想情况下,我想从下面的第二个数据框中添加另一列“百分比”。
例如,我有我的第一个 df 的图像:
我有另一个具有相同“年”列的数据框,并且每个其他列名都是原始“主”数据框的“县”列中的字符串值:
如何以将另一列添加到“主 df”的方式组合这两个数据框?首先将第二个数据框置于包含三列的格式中会有所帮助:“年份”、“县”和“百分比”。如果有人可以帮助我完成这部分,我可以合并它。
解决方案
我认为您要做的是将第二个数据框转换为每个年/县组合都有一行,然后您可以使用左连接将两者结合起来。我相信 ```melt`` 方法会做这种转变。尝试这个:
melted_second_df = second_df.melt(id_vars=["year"], var_name="county", value_name="percent")
combined_df = first_df.merge(
right=melted_second_df,
on=["year", "county"],
how="left"
)
推荐阅读
- java - 我可以在 for 循环中运行 while 循环吗?[Java] 如果是这样,在这种情况下我会怎么做?
- c# - C# 从 url 获取 html。错误 (429) 未知
- single-sign-on - MSAL 浏览器扩展 AAD 会话
- plsql - 如何在包含两个插入语句的oracle中执行存储过程?
- python - 使用python读取json文件
- ios - 仅 iPad SwiftUI 横向
- java - 在 Java 中输入占位符密码字段的问题
- amazon-web-services - 在 aws 日志见解中仅显示包含数字的字段
- python - 熊猫绘图范围为条形
- python - 使用 Python Selenium 查找滑块加载时间