You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas左外连接合并后如何按地址聚合拼接所有发票号为单行

方法1:在现有合并结果基础上分组聚合

你已经生成了合并后的mergedData,直接按Name和Address分组,对InvoiceNum列执行字符串拼接即可:

# 注意如果InvoiceNum是数值类型,先转成字符串避免报错
result = mergedData.groupby(['Name', 'Address'], as_index=False)['InvoiceNum'].agg(lambda x: ', '.join(x.astype(str)))

运行后得到的就是你要的每个地址一行、发票号拼接的结果。


方法2:先聚合发票数据集再合并(更适合大数据量场景)

如果原始数据量较大,先对第二个发票数据集做聚合再合并,能减少合并时的数据量,效率更高:

# 先把发票数据按地址分组,拼接好对应发票号
invoice_agg = invoiceData.groupby('Address', as_index=False)['InvoiceNum'].agg(lambda x: ', '.join(x.astype(str)))
# 再和第一个数据集左连接
mergedData = pd.merge(complaintData, invoice_agg, on='Address', how='left')

如果部分地址没有对应发票,拼接列会返回NaN,你可以按需用fillna('')把空值替换成空字符串。

内容的提问来源于stack exchange,提问作者Dieterich Buxtehude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:06:02