python - 根据某些条件添加两行或多行
问题描述
我有一个这样的数据框:
我想将行与名称合并,并根据名称列合并类别。我的意思是,如果名称列行具有相同的名称,那么合并类别数据和其余数据将是相同的:
目标是根据名称删除重复项并将类别列数据合并为一列
解决方案
多列的更新代码:
df = pd.DataFrame({'Name':["Call Building & Property Maintenance Ltd", "Call Building & Property Maintenance Ltd"],
'Category':['Fibreglass Roofing', 'Chimney Repairs'], 'Another_column':['Fibreglass Roofing', 'Chimney Repairs']})
df[['Category', 'Another_column']] = df.groupby('Name')[['Category', 'Another_column']].transform(lambda x: ','.join(x))
df.drop_duplicates()
输出:
Name Category Another_column
0 Call Building & Property Maintenance Ltd Fibreglass Roofing,Chimney Repairs Fibreglass Roofing,Chimney Repairs