0
有n
數據幀數n
City
列數。熊貓 - 合併和Groupby不同的數據幀並創建新列
DF1:
ID City City1 City2 .... CityN
444x Lima DC
222x Rica Dallas
555x Rio London
333x NYC Tokyo
777x SF Nairobi
DF2:
ID City City1 City2 .... CityN
000x Lima Miami
888x Cct Texas
999x Delhi
444x Tokyo Ktm
333x Aus Paris
DFN:
ID City City1 City2 .... CityN
444x Lima DC
333x Rica Dallas
555x Rio London
666x NYC Tokyo
777x SF Nairobi
我曾嘗試合併dataframes一個接一個,但City
列值獲得通過的最後一個覆蓋數據幀值。
dfOutput=df1.merge(df2, how='left', on='ID')
我想什麼是保留所有這些City1, City2, ...CityN
列值。我列出了下面的示例輸出。
ID City1 City2 City3 City4 City5 City6
444x Tokyo Lima DC Miami Ktm
333x NYC Tokyo Aus Paris Rica Dallas
等等其餘IDs
。我也嘗試在SO中使用另一個問題提供的groupbyID
。
cities = df.groupby('ID')['City'].apply(lambda x: pd.Series([city for city in x])).unstack()
感謝您的幫助。
哪裏是KTM爲444X? – itzy
謝謝@itzy,編輯它。我有一些敏感的值,所以必須使用佔位符值。 – everestbaker
看起來你只想爲每個ID設定獨特的城市。可能會更簡單,只需遍歷行並將值讀入字典中,然後在最後創建一個DataFrame。 – itzy