我有客户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
答案 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