英文:
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)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论