df 是這樣的:
Week Name
1 TOM
1 BEN
1 CARL
2 TOM
2 BEN
2 CARL
3 TOM
3 BEN
3 CARL
df1 是這樣的:
ID Letter
1 A
2 B
3 C
我想合并這兩個資料框,以便每次為每個名稱分配一個不同的字母。所以結果應該是這樣的:
Week Name Letter
1 TOM A
1 BEN B
1 CARL C
2 TOM B
2 BEN C
2 CARL A
3 TOM C
3 BEN A
3 CARL B
任何幫助將不勝感激。提前致謝。
uj5u.com熱心網友回復:
df1['Letter'] = df1.groupby('Week').cumcount().add(df1['Week'].sub(1)).mod(df1.groupby('Week').transform('count')['Name']).map(df2['Letter'])
輸出:
>>> df1
Week Name Letter
0 1 TOM A
1 1 BEN B
2 1 CARL C
3 2 TOM B
4 2 BEN C
5 2 CARL A
6 3 TOM C
7 3 BEN A
8 3 CARL B
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422820.html
標籤:
上一篇:Seleniumpython在InternetExplorer的driver.get('URL')后卡住了
下一篇:使用以下腳本合并所有
