繁体   English   中英

Pandas Dataframe Groupby多列

[英]Pandas Dataframe Groupby multiple columns

我有以下DataFrame:

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子句来转换,以显示用于呈现的数据的摘要视图。 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 with 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            

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM