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

如何用Pandas按指定条件删除DataFrame行(保留含NaN行)

Pandas: 删除指定条件的行

初始DataFrame

import pandas as pd; import numpy as np;
df = {'id': [1, 2, 3, 4, 5, 6],
   'created_at': ['2020-02-01', '2020-02-02', '2020-02-02', '2020-02-02', '2020-02-03','2020-02-02'],
   'type': ['red', np.nan, np.nan, 'blue', 'yellow', np.nan]}

df = pd.DataFrame(df, columns=['id', 'created_at','type'])

需求

删除同时满足created_at='2020-02-02'且id为2或6的行(注:原需求日期描述疑似笔误,结合期望输出调整),保留其余所有行(包含含NaN值的行)。

解决代码

# 定义需要删除的行的条件
mask = (df['created_at'] == '2020-02-02') & df['id'].isin([2, 6])
# 筛选保留不符合删除条件的行
result_df = df[~mask]

输出结果

idcreated_attype
12020-02-01red
32020-02-02NaN
42020-02-02blue
52020-02-03yellow

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 22:20:26