根据两个不同的数据框创建新的数据框

时间:2020-08-25 11:31:43

标签: python dataframe

我是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

谢谢

1 个答案:

答案 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。最好将数据帧格式化为列。

相关问题