0

Consider my first dataframe as below

Area id   shop id  Name

1         100      Apple
1         101      Apple
2         102      Banana
2         103      Banana
2         104      Jack
3         105      Orange
3         106      Orange
4         107      Kiwi
4         108      Kiwi
4         109      Cherry
4         110      Grape
4         111      Grape

My second dataframe as below

 shop id   Price    revenue
   

   100      140      2000
   101      150      3000
   101      150      3500
   102      130      2200
   102      130      3300
   102      130      3500
   102      130      2700
   103      135      3100
   103      130      3300

I need new dataframe as below to fill the shop name based on shop id in the first data frame

shop id     Name        Price    revenue
       
    
       100    Apple      140      2000
       101    Apple      150      3000
       101    Apple      150      3500
       102    Banana     130      2200
       102    Banana     130      3300
       102    Banana     130      3500
       102    Banana     130      2700
       103    Banana     135      3100
       103    Banana     130      3300
jared
  • 4,165
  • 1
  • 8
  • 31
thangaraj1980
  • 141
  • 2
  • 11
  • Resources: SO canonical question: [Pandas Merging 101](/q/53645882/4518341), user guide: [Database-style DataFrame or named Series joining/merging](https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html#database-style-dataframe-or-named-series-joining-merging) – wjandrea Aug 09 '23 at 03:39

1 Answers1

0

Using pd.merge to get your result.

# Create dataframe
data1 = { ... }
df1 = pd.DataFrame(data1)
data2 = { ... }
df2 = pd.DataFrame(data2)

# Merge the dfs based on 'shop id'
result_df = pd.merge(df2, df1[['shop id', 'Name']], on='shop id')
result_df = result_df[['shop id', 'Name', 'Price', 'revenue']]
print(result_df)
taller_ExcelHome
  • 2,232
  • 1
  • 2
  • 12