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

使用pandas如何删除包含负值的整行数据?

首先从你提供的示例输入与期望输出的匹配关系来看,你描述的「删除包含负值的整行」存在表述偏差,实际匹配示例的逻辑有两种常见可能,对应实现如下:

1. 仅删除col1列为负值的行(完全匹配你给出的期望输出)

该逻辑下仅判断第一列是否为负,为负则删除整行,运行结果和你给出的示例输出完全一致:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({'col1': [1,-2,3,4],
                   'col2': [-1, -2, -3, 4],
                   'col4': [1,-2,3,4]})

# 筛选col1列非负值的行
df = df[df['col1'] >= 0]
print(df)

2. 删除所有列全为负值的行(当前示例下输出与上述结果一致)

该逻辑下只有整行所有列都是负值时才删除,当前示例中仅索引为1的行符合删除条件,因此输出结果和上面一致:

df = df[~(df < 0).all(axis=1)]

3. 严格匹配你的描述:删除包含任意负值的整行

如果你原本的描述是准确需求,只要任意一列存在负值就删除整行,实现代码如下,该逻辑下输出仅保留所有列都为非负值的行,和你给出的示例输出不同:

df = df[(df >= 0).all(axis=1)]

内容的提问来源于stack exchange,提问作者Shrilaxmi M S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:15:03