Python 3.x 没有聚合函数的Groupby并对数据进行排序
我有客户ID和购买日期。我需要为每个客户ID分别排序购买日期。 我需要一个groupby操作,但没有聚合,并对每个客户的购买日期进行排序 这样做Python 3.x 没有聚合函数的Groupby并对数据进行排序,python-3.x,Python 3.x,我有客户ID和购买日期。我需要为每个客户ID分别排序购买日期。 我需要一个groupby操作,但没有聚合,并对每个客户的购买日期进行排序 这样做 new_data = data.groupby('custID').sort_values('purchase_date') AttributeError:无法访问的可调用属性“sort\u values” “DataFrameGroupBy”对象,请尝试使用“应用”方法 预期结果如下: custID purchase_date 100 2
new_data = data.groupby('custID').sort_values('purchase_date')
AttributeError:无法访问的可调用属性“sort\u values”
“DataFrameGroupBy”对象,请尝试使用“应用”方法
预期结果如下:
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
输出:
打印(分类数据)
打印(sortedData.to_字符串(index=False))
# 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)
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
custID purchase_date
100 12/01/2019
100 23/01/2019
110 05/01/2019
110 05/05/2019
110 06/05/2019
110 23/01/2019
110 23/01/2019
160 02/07/2019
160 11/01/2019
160 19/01/2019