我有兩個資料幀如下:
df1 = pd.DataFrame({'Group1': [0.5,5,3], 'Group2' : [2,.06,0.9]}, index=['Dan','Max','Joe'])
df2 = pd.DataFrame({'Name' : ['Joe','Max'], 'Team' : ['Group2','Group1']})
我的目標是為考慮“團隊”列的人員的姓名獲得正確的值。
所以結果應該是這樣的:

我嘗試了合并,但失敗了,因為我不知道如何在這些條件下合并。
在 Python 中實作我的目標的最佳方式是什么?
uj5u.com熱心網友回復:
您可以 unstack df1,重置其索引,重命名列并合并Name和Team:
out = (df1.unstack()
.reset_index()
.rename({'level_0':'Team', 'level_1':'Name', 0:'Value'}, axis=1)
.merge(df2, on=['Name','Team']))
輸出:
Team Name 0
0 Group1 Max 5.0
1 Group2 Joe 0.9
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/376279.html
