python - 基于两个不同的数据框创建新的数据框
问题描述
我是python新手,有人可以帮我吗?我有两个数据框(DF1 和 DF2),如下所示,
DF1:
project_ID dataID#
AAA dataset_01
BBB dataset_02
CCC dataset_01
DDD dataset_02
DF2:
dataID# Items
dataset_01 Apple
dataset_01 Orange
dataset_02 banana
dataset_02 Grape
每个“dataID”都有“项目”列表。基本上我想创建新的数据框以根据每个project_ID(来自DF1)的dataID#列出“项目”(来自DF2)我希望输出如下所示(新数据框(DF3))像这样,
project_ID dataID# Items
AAA dataset_01 Apple
AAA dataset_01 Orange
BBB dataset_02 banana
BBB dataset_02 Grape
CCC dataset_01 Apple
CCC dataset_01 Orange
DDD dataset_02 banana
DDD dataset_02 Grape
谢谢
解决方案
您正在寻找合并操作,特别是称为 leftjoin 或 leftouterjoin 的东西。
在 Pandas 中,您可以这样做。
df1 = df1.merge(df2[["dataID#", "Items"]], on="dataID#", how="left")
文档:https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html
PS 在列中格式化您的数据框将不胜感激。
推荐阅读
- javascript - 如何过滤掉jquery中不属于搜索结果的项目?
- bash - echo $PATH 显示一个 Python.Framework 目录。重新启动终端后更改被撤销
- kubernetes-helm - Istio 安装:打开存储失败 mkdir data/: 权限被拒绝
- javascript - 尝试替换整个时如何修复 TypeError: t is null?
- javascript - 循环通过承诺
- python - 当我使用 sql 时,我确实收到了不推荐使用的警告
- python - 如何根据匹配的子字符串从一个列表创建多个列表?
- python - 无法运行“抓取报价”
- javascript - React 在函数内部设置状态
- properties - 一个关于面板控制的谜题