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

如何用Pandas删除DataFrame中streak列首个0.0后的所有行?

解决方法

要实现删除streak列中第一个0.0所在行之后的所有行,你可以按照下面的步骤操作:

首先定位第一个0.0的位置,再截取该位置之前的所有行即可,直接上代码:

import pandas as pd

# 初始化你的原始DataFrame
df = pd.DataFrame({'streak': [1.0, 2.0, 0.0, 1.0, 2.0, 0.0, 0.0]})

# 找到第一个值为0.0的行的索引
first_zero_index = df[df['streak'] == 0.0].index[0]

# 截取从开头到该索引之前的所有行(不包含这个0.0的行)
result_df = df.iloc[:first_zero_index]

print(result_df)

运行后输出的结果就是你想要的:

streak
0 1.0
1 2.0

补充说明

  • 核心逻辑是用df[df['streak'] == 0.0].index[0]精准定位第一个0.0的索引位置,这里对应的是第2行(索引从0开始)。
  • 用iloc[:first_zero_index]完成切片,只保留索引0到1的行。

如果你的DataFrame有可能不存在0.0的情况,可以加个判断避免报错:

if not df[df['streak'] == 0.0].empty:
    first_zero_index = df[df['streak'] == 0.0].index[0]
    result_df = df.iloc[:first_zero_index]
else:
    result_df = df.copy()  # 没有0.0就返回原DataFrame

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:36:26