gpt4 book ai didi

python - 如何在pandas中合并3个数据集

转载 作者:太空宇宙 更新时间:2023-11-03 14:01:21 25 4
gpt4 key购买 nike

我有 3 个数据集:restaurant.csv、users.csv 和 rating.csv。 Restaurants.csv 包含餐厅 ID 和一些功能。 Users.csv 包含用户 ID 和一些用户功能。 Raiting.csv 包含餐厅 ID、用户 ID 和相应的评级。

place_id feature1 feature2
1 .. ..<br/>
2 .. ..

user_id feature1 feature2
1 .. ..<br/>
2 .. ..

place_id user_id raiting
1 1 2<br/>
2 1 3

我想合并这 3 个文件以获得一个数据集,其中包含餐馆、用户特征和相应的评级作为标签。我想获取如下数据集:

place_id user_id place_feature1 ... user_feature2 raiting
1 1 .. 2<br/>
2 2 .. 3

我该怎么做?

最佳答案

我认为你需要双 merge左连接:

示例数据帧:

df1 = pd.DataFrame({'place_id':[1,2,3,4],
'B':[4,5,4,7],
'C':[7,8,9,4]})

print (df1)
B C place_id
0 4 7 1
1 5 8 2
2 4 9 3
3 7 4 4

df2 = pd.DataFrame({'user_id':[1,2,3,4],
'D':[40,50,40,70],
'E':[70,80,90,40]})

print (df2)
D E user_id
0 40 70 1
1 50 80 2
2 40 90 3
3 70 40 4

df3 = pd.DataFrame({'user_id':[1,2,3,4,1,2],
'place_id':[1,1,1,1,2,2],
'rating':[7,8,9,4,4,5]})

print (df3)
place_id rating user_id
0 1 7 1
1 1 8 2
2 1 9 3
3 1 4 4
4 2 4 1
5 2 5 2
<小时/>

用于真实数据使用read_csv :

#df1 = pd.read_csv('restaurants.csv')
#df2 = pd.read_csv('users.csv')
#df3 = pd.read_csv('rating.csv')

df = df3.merge(df1, on='place_id', how='left').merge(df2, on='user_id', how='left')
print (df)
place_id rating user_id B C D E
0 1 7 1 4 7 40 70
1 1 8 2 4 7 50 80
2 1 9 3 4 7 40 90
3 1 4 4 4 7 70 40
4 2 4 1 5 8 40 70
5 2 5 2 5 8 50 80

关于python - 如何在pandas中合并3个数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com