没有聚合功能的Groupby并对该数据进行排序

时间:2019-06-13 12:46:15

标签: python-3.x

我有客户ID和购买日期。我需要分别为每个客户ID排序购买日期。 我需要一个分组操作,但不进行汇总,并且需要为每个客户分类购买日期。

尝试过

new_data = data.groupby('custID').sort_values('purchase_date')
  

AttributeError:无法访问的可调用属性“ sort_values”   'DataFrameGroupBy'对象,请尝试使用'apply'方法

预期结果如下:

custID  purchase_date
100     23/01/2019
100     29/01/2019
100     03/04/2019
120     02/05/2018
120     09/03/2019
120     11/05/2019

1 个答案:

答案 0 :(得分:0)

model

输出:

myConfig.getConfig("googlesheets").entrySet()

# import the pandas library
import pandas as pd

data = {
    'purchase_date': ['23/01/2019', '19/01/2019', '12/01/2019', '23/01/2019', '11/01/2019', '23/01/2019', '06/05/2019', '05/05/2019', '05/01/2019', '02/07/2019',],
    'custID': [100, 160, 100, 110, 160, 110, 110, 110, 110, 160]
}

df = pd.DataFrame(data)


sortedData = df.groupby('custID').apply(
lambda x: x.sort_values(by = 'purchase_date', ascending = True))

sortedData=sortedData.reset_index(drop=True, inplace=False)

print(sortedData)

Index  custID  purchase_date

 0     100    12/01/2019
 1     100    23/01/2019
 2     110    05/01/2019
 3     110    05/05/2019
 4     110    06/05/2019
 5     110    23/01/2019
 6     110    23/01/2019
 7     160    02/07/2019
 8     160    11/01/2019
 9     160    19/01/2019