Python / Pandas - 创建组的精简数据框

时间:2017-06-28 15:46:51

标签: python pandas grouping

我有一个如下所示的数据框:

          group  groupError level2_error  level3_error      level4_error
170  64.22-1-00   0.109667      0.109667      0.109667          0.168453
72   64.22-1-00   0.109667      0.109667      0.109667          0.168453
121  41.20-4-00    4.00153       4.00153       4.00153           9.65689
99   35.12-3-00    4.81931       4.81931       4.81931        -0.0652749
19   64.22-1-00   0.109667      0.109667      0.109667          0.168453
91   35.12-3-00    4.81931       4.81931       4.81931        -0.0652749
86   41.20-4-00    4.00153       4.00153       4.00153           9.65689
108  41.20-4-00    4.00153       4.00153       4.00153           9.65689
241  35.12-3-00    4.81931       4.81931       4.81931        -0.0652749
88   35.12-3-00    4.81931       4.81931       4.81931        -0.0652749
119  64.22-1-00   0.109667      0.109667      0.109667          0.168453

请注意,来自同一组的每个项目具有相同的值。我想综合这个只显示组特征的数据框,甚至可能使用group作为索引。它看起来像这样:

     group  groupError level2_error  level3_error      level4_error
64.22-1-00   0.109667      0.109667      0.109667          0.168453
41.20-4-00    4.00153       4.00153       4.00153           9.65689
35.12-3-00    4.81931       4.81931       4.81931        -0.0652749

有关如何做到这一点的任何建议吗?

1 个答案:

答案 0 :(得分:2)

要处理可能的输入错误(如果你不是100%相同),你可以使用某种形式:

df.groupby('group').agg(lambda x: x.value_counts().index[0])

也有助于捕获异常值。否则正如保罗所说,drop_duplicates()是完美的。

编辑:将median()更改为返回模式的函数,也应该可靠地处理非数字数据。