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

使用Python删除CSV指定行遇问题:pandas drop方法未生效

解决pandas删除CSV行无效的问题

你遇到的问题核心是**drop方法的使用逻辑**:pandas的drop默认不会修改原DataFrame,而是返回一个删除行后的新对象。你既没把这个新对象赋值给变量,也没开启原地修改,所以原df完全没变化,输出自然和删除前一致。

给你三种可行的解决方式:

方式一:开启原地修改(inplace=True)

直接在drop里加inplace=True参数,让操作直接作用于原DataFrame:

import pandas as pd

df = pd.read_csv(r'C:\Users\Downloads\Iowa 2010 Census Data Population Income.csv')
# 原地删除索引9和20的行
df.drop([9, 20], inplace=True)
print(df)

方式二:重新赋值给原变量

把drop返回的新DataFrame赋值给原变量df,覆盖原来的数据:

import pandas as pd

df = pd.read_csv(r'C:\Users\Downloads\Iowa 2010 Census Data Population Income.csv')
# 用删除后的新数据替换原df
df = df.drop([9, 20])
print(df)

方式三:按内容匹配删除(更稳妥)

如果你的目标是删除“美国行”和“爱荷华州行”,直接根据County列的内容匹配删除更可靠,避免CSV行顺序变化导致索引9、20对应的行不是你要删的:

import pandas as pd

df = pd.read_csv(r'C:\Users\Downloads\Iowa 2010 Census Data Population Income.csv')
# 过滤掉County列是"United States"或"Iowa"的行
df = df[~df['County'].isin(['United States', 'Iowa'])]
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 19:45:39