如何从合并后的Pandas数据文件中移除重复标题及预算为N/A的数据?
处理Pandas合并后的数据:移除重复标题和N/A预算条目
嘿,刚入门Pandas的话,这两个数据清理操作其实挺基础实用的,我给你拆解成清晰的步骤:
第一步:过滤掉预算为N/A的条目
首先得确认你的DataFrame里「预算」列的N/A是**字符串形式的"N/A"**还是Pandas默认的缺失值(NaN),两种情况的处理方式略有不同:
- 如果是字符串"N/A":
# 保留预算不等于"N/A"的行 df = df[df['预算'] != 'N/A'] - 如果是缺失值
NaN(比如读取文件时自动识别的空值):# 保留预算列非空的行 df = df[df['预算'].notna()] # 或者用dropna方法,效果完全一致 df = df.dropna(subset=['预算'])
第二步:移除标题重复的条目
用drop_duplicates()方法就能轻松搞定,指定要检查重复的列是「标题」,还可以通过keep参数控制保留哪一条重复数据:
# 保留每个标题第一次出现的行,删除后续重复的条目 df = df.drop_duplicates(subset=['标题'], keep='first') # 要是你想保留最后一次出现的重复标题,就把keep改成'last' # df = df.drop_duplicates(subset=['标题'], keep='last') # 如果想删除所有重复的(只要标题重复,所有相关行都删掉),就把keep设为False # df = df.drop_duplicates(subset=['标题'], keep=False)
合并成一行操作(链式调用)
你也可以把两个操作连起来写,代码更简洁:
# 假设预算是字符串"N/A",同时保留第一个重复标题的写法 df_cleaned = df[df['预算'] != 'N/A'].drop_duplicates(subset=['标题'], keep='first')
⚠️ 小提醒:记得把代码里的'预算'和'标题'换成你自己DataFrame里的实际列名哦!
内容的提问来源于stack exchange,提问作者Zevvysan




