如何按Column A中数值提取Column B对应唯一值并生成子列表
两列数据去重整理需求及实现
需求说明
现有如下两列数据:
| Column A | Column B |
|---|---|
| 1 | 2 |
| 1 | 2 |
| 3 | 4 |
| 5 | 8 |
需要完成:针对Column A中的每个唯一数值,提取Column B中与之对应的唯一值,最终生成格式为[[2],[4],[8]]的嵌套子列表集合。
实现方案
基础Python实现(无需第三方库)
通过字典结合集合自动去重,再转换为目标格式:
# 原始数据(可替换为实际数据源读取逻辑) data = [ (1, 2), (1, 2), (3, 4), (5, 8) ] # 构建A唯一值到B唯一值的映射 unique_map = {} for a_val, b_val in data: if a_val not in unique_map: unique_map[a_val] = set() unique_map[a_val].add(b_val) # 转换为要求的嵌套列表格式 final_output = [[b] for b_set in unique_map.values() for b in b_set] print(final_output) # 输出结果: [[2], [4], [8]]
Pandas实现(适合处理大规模表格数据)
利用Pandas的分组和去重功能快速实现:
import pandas as pd # 构建DataFrame(实际场景可通过read_csv/read_excel读取数据) df = pd.DataFrame({ 'Column A': [1, 1, 3, 5], 'Column B': [2, 2, 4, 8] }) # 分组去重并转换格式 final_output = df.groupby('Column A')['Column B'].unique().apply(lambda x: [x[0]]).tolist() print(final_output) # 输出结果: [[2], [4], [8]]
内容的提问来源于stack exchange,提问作者Dr. Krishna Kant Gupta
相关产品推荐
相关产品推荐

