我是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
谢谢
答案 0 :(得分:0)
您正在寻找合并操作,特别是称为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
P.S。最好将数据帧格式化为列。