Pandas删除指定列指定值所在行的两种方法

远山来客
远山来客
发布时间:2026-10-15 | 4人浏览过
原创

本文介绍在Pandas中删除指定列包含特定值行的两种常用方法。首先讲解dropna函数处理缺失值的参数配置,随后详解drop函数通过index参数精准删除指定行的操作。结合实例演示如何统计、定位并移除“ZH_Term_len”列为0的数据,最后重置索引完成数据清洗。

前言

在使用Pandas进行数据处理时,筛选数据是常见操作。有时任务要求不仅过滤空值,还需要删除某列中特定指定值所在的行。

1. data.dropna()

默认参数:
data.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

1-1 axis参数用于确定删除存在缺失值的行(axis=0)还是列(axis=1)。

#删除含有缺失值的行
axis=0或axis='index'
#删除含有缺失值的列
axis=1或axis='columns'

1-2 how参数用于确定当存在缺失值时,是否删除行或者列。

how='all'或how=‘any'。
 
how='all'时表示删除全是缺失值的行(列)
 
how='any'时表示删除只要含有缺失值的行(列)

1-3 thresh=n参数表示保留至少含有n个非NA数值的行。

data.dropna(thresh=2)

1-4 subset参数用于指定要在哪些列中查找缺失值。

#在source和target两列中查找缺失值
data.drop(subset = ["source","target"])

1-5 inplace参数用于确定是否直接在原DataFrame上进行修改。

#删除缺失值后不在原data上修改
inplace = False
#删除缺失值后在原data上修改
inplace = True

2. data.drop

默认参数:
data.drop(
    labels=None,
    axis=0,
    index=None,
    columns=None,
    level=None,
    inplace=False,
    errors='raise',
)

2-1 labels参数用于指定行或者列的名称。

#参数axis为0表示在0轴(列)上搜索名为“姓名”的对象,然后删除对象“姓名”对应的行。
data.drop("姓名",axis = 0)
 
#参数axis为0表示在1轴(行)上搜索名为“姓名”的对象,然后删除对象“姓名”对应的列。
data.drop("姓名",axis = 1)

2-2 index参数用于指定要删除的行索引。

#删除data中索引为0和1的行
data.drop(index = [0,1])

2-3 columns参数用于指定要删除的列名。

#删除data中列名为“source”和“target”的列
data.drop(columns=['source', 'target'])

3. 实例

任务需求:删除“ZH_Term_len”列中值为0的全部行。

3-1 统计0的数量

#统计“ZH_Term_len”一列中有多少个0
data["ZH_Term_len"].value_counts()

3-2 找出0的索引

data[(data.ZH_Term_len == 0)].index.tolist() 

3-3 使用drop函数以及index参数删除所在的行

data =  data.drop(index = data[(data.ZH_Term_len == 0)].index.tolist())

3-4 查看数据

data.info()

3-5 将索引重新排序

#会将标签重新从零开始顺序排序,使用参数设置drop=True删除旧的索引序列
data = data.reset_index(drop=True)

3-6 统计“ZH_Term_len”列中值的数量

统计后发现,“ZH_Term_len”列中值为0的行已经全部被删除掉。

总结

到此这篇关于如何利用Pandas删除某列指定值所在行的文章就介绍到这了,更多相关Pandas删除指定值所在行内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表