根据某些条件添加两行或多行[重复]

Posted

技术标签:

【中文标题】根据某些条件添加两行或多行[重复]【英文标题】:Add two or more rows according to the some condition [duplicate] 【发布时间】:2021-11-03 10:58:26 【问题描述】:

我有一个这样的数据框:

我想将行与名称合并,并根据名称列合并类别。我的意思是如果名称列行具有相同的名称,那么合并类别数据和其余数据将是相同的:

我想要的输出是这样的:

目标是按名称去重复,并将类别列数据合并为一列

【问题讨论】:

【参考方案1】:

更新 多列代码:

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

【讨论】:

这行得通,但如果我们有更多的列,我们该怎么做? 答案已更新! @哈里斯艾哈迈德

以上是关于根据某些条件添加两行或多行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

选择不同的 DataTable 行

SQL Server:分组重复行集

将“Section”中的一长行记录拆分为两行或多行

python pandas将两行或多行文本合并为一行

pyspark:如果列在不同行中具有相同的值,则合并两行或多行

ifelse 在行上有条件 [重复]