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

移除DataFrame各列重复条目,求Jupyter Notebook实现代码

单列去重的DataFrame转换方案

实现思路

  • 针对DataFrame的每一列独立执行去重操作,保留值的首次出现顺序
  • 利用pandas的批量处理能力,一次性完成1000列的去重,避免逐列手动操作

可直接运行的Jupyter代码

import pandas as pd
import numpy as np

# ----------------------
# 替换为你的真实数据读取逻辑
# 示例:生成1000列的模拟DataFrame
np.random.seed(42)
raw_df = pd.DataFrame({
    f'column_{idx}': np.random.choice(['X', 'Y', 'Z', 'W'], size=150) 
    for idx in range(1000)
})
# ----------------------

# 定义单列去重函数:保留首次出现值,重置索引
def deduplicate_column(series):
    return series.drop_duplicates(keep='first').reset_index(drop=True)

# 对所有列批量应用去重
target_df = raw_df.apply(deduplicate_column)

# 可选:查看处理后前5行数据
print(target_df.head())

关键细节说明

  • drop_duplicates(keep='first'):确保只保留每个值第一次出现的记录,后续重复项直接剔除,维持原始数据的顺序
  • reset_index(drop=True):解决去重后列索引不连续的问题,让每列的索引从0开始连续编号
  • apply方法:pandas内置的批量处理接口,针对1000列的场景效率足够,无需额外优化

注意:若各列去重后的行数不一致,pandas会自动用NaN填充较短列的空缺行,这是DataFrame的结构化特性,符合常规数据处理逻辑

内容的提问来源于stack exchange,提问作者Anunay sao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:55:08