如何根据其他列的值填充Python数据框的列值?

huangapple go评论125阅读模式
英文:

How to fill the python dataframe column value based on other column value?

问题

请看下面的第一个数据框:

区域id   店铺id   名称

1       100     苹果
1       101     苹果
2       102     香蕉
2       103     香蕉
2       104     杰克
3       105     橙子
3       106     橙子
4       107     猕猴桃
4       108     猕猴桃
4       109     樱桃
4       110     葡萄
4       111     葡萄

第二个数据框如下:

店铺id   价格   收入

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

我需要一个新的数据框,如下所示,根据第一个数据框中的店铺id来填充店铺名称:

店铺id   名称      价格   收入

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
英文:

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

答案1

得分: 0

使用pd.merge来获取你的结果。

# 创建数据框
data1 = { ... }
df1 = pd.DataFrame(data1)
data2 = { ... }
df2 = pd.DataFrame(data2)

# 基于 '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)
英文:

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)

huangapple
  • 本文由 发表于 2023年8月9日 11:25:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/76864364-2.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定