映射具有多个列的dataframe.groupby对象

时间:2019-03-22 09:46:34

标签: python pandas dataframe

我需要将多列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列中有重复项,这些重复不一定属于同一家族。

感谢您的帮助

0 个答案:

没有答案