分组依据的熊猫多重条件均值

时间:2020-03-31 18:37:46

标签: python-3.x pandas pandas-groupby

python和pandas的新手。我有一个熊猫数据框架,其中包含客户数据列表,其中包括客户名称,报告月份和绩效。我正在尝试获得每个客户的第一笔业绩记录

  CustomerName ReportingMonth  Performance
0         7CGC     2019-12-01     1.175000
1         7CGC     2020-01-01     1.125000
2          ACC     2019-11-01     1.216802
3         ACBH     2019-05-01     0.916667
4         ACBH     2019-06-01     0.893333
5          AKC     2019-10-01     4.163636
6          AKC     2019-11-01     3.915215

所需的输出

      CustomerName  ReportingMonth   Performance
0             7CGC      2019-12-01      1.175000
1              ACC      2019-11-01      1.216802
2             ACBH      2019-05-01      0.916667
3              AKC      2019-10-01      4.163636

1 个答案:

答案 0 :(得分:1)

DataFrame.sort_valuesGroupBy.firstDataFrame.drop_duplicates结合使用:

df.sort_values('ReportingMonth').groupby('CustomerName', as_index=False).first()

new_df = df.sort_values('ReportingMonth').drop_duplicates('CustomerName',
                                                          keep = 'first')
print(new_df)

输出

  CustomerName ReportingMonth  Performance
3         ACBH     2019-05-01     0.916667
5          AKC     2019-10-01     4.163636
2          ACC     2019-11-01     1.216802
0         7CGC     2019-12-01     1.175000

如果已经排序,则无需再次排序

相关问题