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

逐行遍历DataFrame时如何删除满足指定条件的行

删除Guest列以"test"开头的行

不需要逐行遍历,直接用pandas内置的向量化字符串筛选方法即可,运行效率远高于逐行操作,代码如下:

import pandas as pd

# 保留Guest列不以test开头的行,直接覆盖原变量或赋值给新DataFrame都可以
df = df[~df['Guest'].str.startswith('test', na=False)]

参数na=False用于处理Guest列存在空值的场景,避免逻辑判断报错,如果你确定列内没有空值可以去掉该参数。


转列表不带索引的方法

你转列表时带出索引,大概率是用了iterrows()遍历或者直接转换Series对象时取到了索引信息,想要不带索引转列表可以用以下写法:

  • 单独转换某一列为列表:
guest_list = df['Guest'].tolist()
  • 转换整个DataFrame为嵌套列表(每一行对应一个子列表):
df_full_list = df.values.tolist()

如果你确实需要逐行遍历处理数据,也可以用itertuples方法关闭索引输出:

# 遍历每行时不会返回索引值
for row in df.itertuples(index=False):
    guest_val = row.Guest
    status_val = row.Status
    # 后续自定义处理逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:36:04