Kesavan Surya
Kesavan Surya

Reputation: 15

create new data frame based on two different data frame in python using loop function

I am new to python, could anyone help me on the below? I have two data frames (DF1 & DF2) like below,

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

Each dataID has list of Items. Basically i want to create new data frame to list the Items (from DF2) based on the dataID# for each project_ID (from DF1) I want to have the output something like below (new data frame (DF3)) something like this,

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

Thank you

Upvotes: 1

Views: 30

Answers (1)

StupidWolf
StupidWolf

Reputation: 46898

You can merge the data.frames using merge:

import pandas as pd
DF1 = pd.DataFrame({'project_ID':['AAA','BBB','CCC','DDD'],
                    'dataID':['dataset_01','dataset_02','dataset_01','dataset_02']})

DF2 = pd.DataFrame({'dataID':['dataset_01','dataset_01','dataset_02','dataset_02'],
                    'Items':['Apple','Orange','banana','Grape']})

DF1.merge(DF2)


project_ID  dataID  Items
0   AAA dataset_01  Apple
1   AAA dataset_01  Orange
2   CCC dataset_01  Apple
3   CCC dataset_01  Orange
4   BBB dataset_02  banana
5   BBB dataset_02  Grape
6   DDD dataset_02  banana
7   DDD dataset_02  Grape

Upvotes: 1

Related Questions