我需要将多列groupby对象映射到另一个数据框。 groupby对象看起来像这样:
counts = trainDataF.groupby(['Surname', 'Ticket']).size()
print(counts)
Surname Ticket
Abbing C.A. 1
Abbott C.A. 2
Abelson P/PP 2
Adahl C 70 1
然后我必须将此groupby对象映射到另一个与Surname匹配的数据框,然后与Ticket列匹配并返回值:
trainDataF['SurnameFreq'] = trainDataF['Surname'].map(counts).fillna(0)
像这样:
+--------+---+---------+------------+
| Ticket | … | Surname | FamilySize |
+--------+---+---------+------------+
| 2442 | | Carter | 2 |
| 1137 | | Carter | 4 |
| 1137 | | Carter | 4 |
| 1137 | | Carter | 4 |
| 1137 | | Carter | 4 |
| 2442 | | Carter | 2 |
+--------+---+---------+------------+
我需要这样做,因为在我的Surname
列中有重复项,这些重复不一定属于同一家族。
感谢您的帮助