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

求可提取重复Serial Number关联信息并生成合并结果的Python代码

Python实现合并重复Serial Number的Characteristics字段

输入表格

Serial NumberAgeCharacteristics
100120Tall
100223Blue
100120Black
100223Short
100319Green

可以用Python的pandas库实现需求,以下是完整代码,支持多种合并顺序:

import pandas as pd

# 构造输入数据(若从本地文件读取,可替换为pd.read_excel("your_file.xlsx")或pd.read_csv("your_file.csv"))
input_data = {
    'Serial Number': [1001, 1002, 1001, 1002, 1003],
    'Age': [20, 23, 20, 23, 19],
    'Characteristics': ['Tall', 'Blue', 'Black', 'Short', 'Green']
}
df = pd.DataFrame(input_data)

# 方式1:按原数据出现顺序合并
merged_df_original = df.groupby(['Serial Number', 'Age'])['Characteristics'].agg(', '.join).reset_index()
print("按原顺序合并结果:")
print(merged_df_original)

# 方式2:反转原顺序合并(匹配你给出的1002的输出:Short, Blue)
merged_df_reversed = df.groupby(['Serial Number', 'Age'])['Characteristics'].agg(lambda x: ', '.join(reversed(x))).reset_index()
print("\n反转顺序合并结果:")
print(merged_df_reversed)

# 方式3:按字母排序合并
merged_df_sorted = df.groupby(['Serial Number', 'Age'])['Characteristics'].agg(lambda x: ', '.join(sorted(x))).reset_index()
print("\n按字母排序合并结果:")
print(merged_df_sorted)

# 保存结果到文件(以反转顺序为例)
# merged_df_reversed.to_excel("merged_result.xlsx", index=False)
# merged_df_reversed.to_csv("merged_result.csv", index=False)

对应输出表格

按原顺序合并

Serial NumberAgeCharacteristics
100120Tall, Black
100223Blue, Short
100319Green

反转顺序合并(匹配期望输出)

Serial NumberAgeCharacteristics
100120Black, Tall
100223Short, Blue
100319Green

按字母排序合并

Serial NumberAgeCharacteristics
100120Black, Tall
100223Blue, Short
100319Green

内容的提问来源于stack exchange,提问作者Prateeksha Dawn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:30:41