我有以下数据框:
FACTORY_ID SUPPLIER_ID DELIVERY_DATETIME
A 1 05/09/2015 11:00
A 1 05/09/2015 11:00
A 2 05/09/2015 11:00
A 2 08/09/2015 11:00
A 1 08/09/2015 11:00
A 1 08/09/2015 11:00
A 1 08/09/2015 11:00
A 2 08/09/2015 11:00
A 2 13/09/2015 11:00
A 3 13/09/2015 11:00
A 3 13/09/2015 11:00
A 3 13/09/2015 11:00
A 3 13/09/2015 11:00
A 3 13/09/2015 11:00
我打算使用 GroupBy 子句对其进行转换,以显示用于演示的数据的汇总 View 。 (DELIVERY_DATETIME
是连接并以逗号分隔的列。)此示例中所需的结果:
FACTORY_ID SUPPLIER_ID DELIVERY_DATETIME
A 1 05/09/2015 11:00:00 AM, 08/09/2015 11:00:00 AM
A 2 05/09/2015 11:00:00 AM, 13/09/2015 11:00:00 AM
A 3 13/09/2015 11:00:00 AM
尝试过 GroupBy/drop_duplicates 但无法得到我想要的。我应该怎样做呢?
最佳答案
IIUC groupby
和 agg
newdf=df.groupby(['FACTORY_ID','SUPPLIER_ID']).DELIVERY_DATETIME.agg(['first','last'])
newdf.loc[newdf['first']==newdf['last'],'last']=''
newdf
Out[69]:
first last
FACTORY_ID SUPPLIER_ID
A 1 05/09/2015 08/09/2015
2 05/09/2015 13/09/2015
3 13/09/2015
关于python - Pandas Dataframe Groupby 多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51869406/