合并重复行的某些行值Pandas

时间:2018-04-07 16:18:04

标签: python pandas dataframe jupyter-notebook

我有一个基于足球运动员的数据框。当球员在赛季中期转会时,我发现重复的一行。我的目标是在两个联赛中添加准确分数,并将它们加在一起,只做一行。

以下是数据样本:

name    full_name   club    Points  Start   Sub
84  S. Mustafi  Shkodran Mustafi    Arsenal 76  26  1
85  S. Mustafi  Shkodran Mustafi    Arsenal -2  0   1
89  Bruno   Bruno Soriano Llido Villarreal CF   43  15  16
90  Bruno   Bruno Gonzalez Cabrera  Getafe CF   43  15  16
119 Oscar   Oscar dos Santos Emboaba    NaN 16  5   8
120 Oscar   Oscar dos Santos Emboaba    NaN 1   0   2
121 Oscar   Oscar Rodriguez Arnaiz  Real Madrid CF  16  5   8
122 Oscar   Oscar Rodriguez Arnaiz  Real Madrid CF  1   0   2
188 C. Bravo    Claudio Bravo   Manchester City 61  22  8
189 C. Bravo    Claudio Bravo   Manchester City 1   1   0
193 Naldo   Ronaldo Aparecido Rodrigues FC Schalke 04   58  19  1
194 Naldo   Edinaldo Gomes Pereira  RCD Espanyol    58  19  1
200 G. Castro   Gonzalo Castro  Borussia Dortmund   79  23  6
201 G. Castro   Gonzalo Castro  Malaga CF   79  23  6
209 Juanfran    Juan Francisco Torres Belen Atletico Madrid 86  21  8
210 Juanfran    Juan Francisco Torres Belen Atletico Madrid 74  34  2
211 Juanfran    Juan Francisco Moreno Fuertes   RC Coruna   86  21  8
212 Juanfran    Juan Francisco Moreno Fuertes   RC Coruna   74  34  2

我的目标数据框会让玩家喜欢将Mustafi的Points Start和Sum值加在一起,只给一个玩家。 像布鲁诺这样的球员显然不是同一个人,所以我不想把两个布鲁诺斯加在一起。

name    full_name   club    Points  Start   Sub
84  S. Mustafi  Shkodran Mustafi    Arsenal 74  26  2
89  Bruno   Bruno Soriano Llido Villarreal CF   43  15  16
90  Bruno   Bruno Gonzalez Cabrera  Getafe CF   43  15  16
119 Oscar   Oscar dos Santos Emboaba    NaN 17  5   10
121 Oscar   Oscar Rodriguez Arnaiz  Real Madrid CF  17  5   10
188 C. Bravo    Claudio Bravo   Manchester City 62  23  8
193 Naldo   Ronaldo Aparecido Rodrigues FC Schalke 04   58  19  1
194 Naldo   Edinaldo Gomes Pereira  RCD Espanyol    58  19  1
200 G. Castro   Gonzalo Castro  Borussia Dortmund   158 46  12
209 Juanfran    Juan Francisco Torres Belen Atletico Madrid 86  21  8
212 Juanfran    Juan Francisco Moreno Fuertes   RC Coruna   74  34  2

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:2)

你需要:

NaNs

<强>解释

  1. 首先将''替换为fillna groupby,以避免在dictionary
  2. 中忽略行
  3. groupby汇总,agg汇总inherit并指定列及其汇总功能
  4. 最后显示所有行,暂时使用with