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

Python含NaN值DataFrame关键词匹配与数据提取求助

解决方案
  • 定位关键词"walmart"所在行(忽略大小写匹配),获取起始索引
  • 从起始索引的下一行开始,筛选所有"Jan Sales"的行,取第二个对应的索引
  • 提取该索引的上一行数据

代码实现

import pandas as pd

# 假设你的DataFrame为df
# 1. 找到walmart所在行的索引(忽略大小写,排除NaN干扰)
walmart_idx = df[df['Name'].str.contains('walmart', case=False, na=False)].index[0]

# 2. 从walmart行之后筛选所有Jan Sales的行,取第二次出现的索引
jan_sales_indices = df.loc[walmart_idx+1:, 'Name'][df.loc[walmart_idx+1:, 'Name'] == 'Jan Sales'].index
target_row_idx = jan_sales_indices[1] - 1

# 3. 提取目标行数据
target_data = df.loc[target_row_idx]
print(target_data)

关键说明

  • na=False参数避免NaN值触发字符串匹配报错,确保只处理有效字符串
  • walmart_idx+1限定查找范围从walmart行之后开始,符合需求
  • jan_sales_indices[1]精准定位第二次出现的"Jan Sales",减1即可获取其上一行数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 07:07:03