我一直在試圖總結我的頭周圍merge
了一會兒:如何正確理解熊貓數據框合併(how,left_on,right_on)?
我有以下dataframes:
staff_df = pd.DataFrame([{'Name': 'Kelly', 'Role': 'Director of HR', 'Location': 'State Street'},
{'Name': 'Sally', 'Role': 'Course liasion', 'Location': 'Washington Avenue'},
{'Name': 'James', 'Role': 'Grader', 'Location': 'Washington Avenue'}])
student_df = pd.DataFrame([{'Name': 'James', 'School': 'Business', 'Location': '1024 Billiard Avenue'},
{'Name': 'Mike', 'School': 'Law', 'Location': 'Fraternity House #22'},
{'Name': 'Sally', 'School': 'Engineering', 'Location': '512 Wilson Crescent'}])
我知道我可以以多種方式將它們合併不止一個:
pd.merge(staff_df, student_df, how='left', left_on='Name', right_on='Name')
pd.merge(student_df, staff_df, how='left', left_on='Name', right_on='Name')
pd.merge(staff_df, student_df, how='right', left_on='Name', right_on='Name')
pd.merge(student_df, staff_df, how='right', left_on='Name', right_on='Name')
每個產生一個稍微不同的輸出。有人能以正確的方式引導我理解每個輸出是如何構建的嗎?
具體來說,
- 爲什麼總是location_y之間的角色和學校列?
- 什麼時候名稱列旁邊的角色列和名稱列旁邊的學校 列是什麼時候?
我不想問在同一個合併語句中使用left_index
和right_on
。
謝謝。
你有沒有讀過https://pandas.pydata.org/pandas-docs/stable/merging.html? – Zero
@Zero感謝您參考文檔。我瀏覽了它,我無法找到正確的例子來幫助我解決我的問題。如果你可以給我一些關於如何處理我的問題的指導,那將是非常感謝。謝謝。 –