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

如何在Python/Pandas中删除指定列含任意值的行?

删除DataFrame中指定列存在任意值的行

需求:删除指定列中包含任意值的行——只要该列不是空值,就删除整行。比如示例里secret列有值的第2行和第4行需要被删除。

原代码问题分析

你提供的代码里用了df['secret'] == '*'来筛选要删除的行,这是错误的,因为*在这里只是普通字符串,无法匹配任意非空值,所以不会选中任何目标行。

正确实现代码

import pandas as pd

data = [['Alex',10,''],['John',12,'Name is Secret'],['Ben',13,''],['Steeve',13,'1']]
df = pd.DataFrame(data,columns=['Name','Age','secret'])

# 筛选出secret列不为空的行的索引
index_delete = df[df['secret'] != ''].index

# 删除这些行
df.drop(index_delete, inplace=True)

# 查看处理后的结果
print(df)

补充说明

如果你的数据中空值是以NaN形式存在(而非空字符串),可以改用pd.notna()来判断:

index_delete = df[pd.notna(df['secret'])].index
df.drop(index_delete, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:05:31