2016-05-16 120 views
0

其實我對Python和熊貓還是一個新手,不知道如何繼續下去。基於另外兩個數據框創建新的數據框

基本概述:我必須創建位置推薦系統。我收到了venueIDsub(!)categoryID的一些四方數據。但我的建議應該考慮主要類別的所有數據。所以不知何故,我必須將主要類別分配給我的場地。

我的foursquare據幀看起來是這樣的:

UserID VenueID CategoryID CategoryName  
470 49bbd6c0f964a520f4531fe3 4bf58dd8d48988d127951735 Arts & Crafts Store 
979 4a43c0aef964a520c6a61fe3 4bf58dd8d48988d1df941735 Bridge 
69 4c5cc7b485a1e21e00d35711 4bf58dd8d48988d103941735 Home (private) 

我已經創建了一個數據幀與主類別及其子類別:

Main Category Name   Main Category ID   Sub Categories Name   Sub Categories ID 
0 Arts & Entertainment 4d4b7104d754a06370d81259    Amphitheater 56aa371be4b08b9a8d5734db 
1 Arts & Entertainment 4d4b7104d754a06370d81259     Aquarium 4fceea171983d5d06c3e9823 
2 Arts & Entertainment 4d4b7104d754a06370d81259      Arcade 4bf58dd8d48988d1e1931735 

所以基本上我想:如果VenueID's Category ID(從四方df)在categories_df中,然後將venueID與相應的主要category ID寫入新的數據幀中。我希望你能理解我的意思。

最後我只想用我的推薦的主要類別,而不考慮子類別。

在此先感謝!

回答

0

結帳pandas.DataFrame.merge

df_foursquare.merge(df_categories, how='left', left_on=['CategoryID'], right_on=['Sub Categories ID']) 
+0

非常感謝。看來這正是我想要的。我已經不得不考慮SQL的所有時間,以及我將如何使用SQL來做到這一點...... ^^ – Paprikamann