我有一个 Dataframe ,需要根据一些列对数据进行分组。
静之道:
dfMMS_BBMS_pv.columns
['area_type', 'area_name', 'area_code', 'date', 'A_BBMS',
'A_MMS', 'Others_BBMS', 'Others_MMS', 'B_BBMS',
'C_BBMS', 'C_MMS', 'T_BBMS', 'V_BBMS',
'D_BBMS', 'D_MMS']
dfMMS_BBMS_pv=dfMMS_BBMS_pv.groupby(['area_type', 'area_name', 'area_code']).\
agg({'date': lambda x: list((x)) ,'A_MMS': lambda x:
list(round(x,2)) })
现在我的问题是,如何根据一组具有特定模式的列名来动态地进行聚合:
Interested_Cols=dfMMS_BBMS_pv.filter(regex='BBMS|MMS').columns
dfMMS_BBMS_pv=dfMMS_BBMS_pv.groupby(['area_type', 'area_name', 'area_code']).\
agg({'date': lambda x: list((x)) ,[i: lambda x : list(round(x,2)) for i in
list(Interested_Cols)]
为了澄清,应显示日期列。
我收到的错误:
1条答案
按热度按时间mccptt671#
合并两个字典并传递到
GroupBy.agg
,在聚合前创建最终字典: