Python 3.x 如何基于多个字段分组并显示所有列

Python 3.x 如何基于多个字段分组并显示所有列,python-3.x,pandas,csv,pandas-groupby,data-analysis,Python 3.x,Pandas,Csv,Pandas Groupby,Data Analysis,我正在尝试创建一个csv文件,如果有几列是相同的,那么我会将具有类似值的行合并到一行中 例如: 输入: Party_No install_date Start_date End_date Product_family Version City state 111 24-05-2018 25-05-2019 21-03-2020 storage 1 LA USA 111 24-05-2018 25-05-2019 21-0

我正在尝试创建一个csv文件,如果有几列是相同的,那么我会将具有类似值的行合并到一行中

例如:

输入:

Party_No install_date  Start_date  End_date  Product_family  Version City state 
 111     24-05-2018    25-05-2019 21-03-2020  storage           1     LA   USA
 111     24-05-2018    25-05-2019 21-03-2020  storage           1     KA   USA
 111     24-05-2018    25-05-2019 21-03-2020   storage          2     PA   UK
输出

Party_No install_date  Start_date  End_date  Product_family Version City   state 
111     24-05-2018    25-05-2019 21-03-2020  storage         1,2 LA,KA,PA UK,USA
例:就我而言

如果参与方编号、项目安装日期、合同子行日期、合同子行结束日期、实例族

我将把具有相同值的行合并为一行。除上述之外的其他列将具有逗号分隔的值

输入CSV文件

预期输出CSV

我试过的代码:

import pandas as pd
import np

  df = None
  df = pd.read_csv("Export.csv")
  df.fillna(0,inplace=True)



pf=df.groupby(['PARTY_NUMBER','ITEM_INSTALL_DATE','CONTRACT_SUBLINE_START_DATE','CONTRACT_SUBLINE_END_DATE','INSTANCE_PRODUCT_FAMILY']).agg([','.join])

pf.to_csv("result1.csv", index=False)

添加
unqiue
(或在订单不重要时添加
set


我尝试获取“AttributeError:'DataFrame'对象没有属性'unique'”列,但groupby中指定的列未在最终结果中打印出来output@RITESHSANJAYMAHAJAN不如试试
df.groupby(['…')).agg(lambda x:','.join(set(x))
set解决了重复值问题。但仍然无法看到groupby中提到的列。我得到的是唯一的版本、城市、州栏。。其他列,如party_number、install_date、startdate、End date、product family等不在最终输出中。。。只有“城市”和“州”列得到displayed@RITESHSANJAYMAHAJAN
df.groupby(['…')).agg(lambda x:','.join(set(x)).reset_index()
df.groupby(['...']).agg(lambda x : ','.join(x.unique())) # set(x)