python - Pandas Dataframe Groupby 多列

标签 python pandas 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 子句对其进行转换,以显示用于演示的数据的汇总 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 groupbyagg

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/

相关文章:

pyspark 的 Python 圆函数问题

python - 为什么线程会增加处理时间?

python - 为什么在这种情况下cursor.execute只执行一次并返回?

python - 从空格分隔的 .dat 文件获取日期时间 - python/pandas

python - (=.at)、(=.loc)、(.drop) 或 (.append) 过滤大型数据帧哪个更快?

r - R中多个数据帧具有相同功能

Python 根据应用于集合中元素的函数创建结果并集

python - 删除 Pandas DataFrame 中的每 n 列

python - 按索引从 Pandas 系列中删除元素

r - 绘制来自 SparkR DataFrame 的数据