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

如何从Pandas DataFrame中提取含指定标签的MobileNo并存入数组?

如何从Pandas DataFrame中提取包含指定标签的手机号?

问题背景

已将谷歌表格数据加载到Pandas DataFrame,结构与数据如下:

Tag1    Tag2    Tag3    Tag4    Tag5    MobileNo
Blue    Yellow  Green   Velvet  Red     12345678
Blue    Yellow  Pink    Grey            234556778
Red     Yellow  Orange  Velvet          4456568
Red     Yellow  Grey    Blue            3454655467

需要提取所有行中**Tag1至Tag5任意一列包含指定标签(如Red)**的MobileNo,存入数组,示例结果:

tag_red_results = ['12345678', '4456568', '3454655467']

解决方案

假设你的DataFrame变量名为df,可以通过以下代码实现:

# 定义要查找的目标标签
target_tag = 'Red'
# 指定需要检查的标签列范围
tag_cols = ['Tag1', 'Tag2', 'Tag3', 'Tag4', 'Tag5']

# 生成筛选掩码:每行只要有一个标签匹配就返回True
match_mask = df[tag_cols].eq(target_tag).any(axis=1)

# 提取符合条件的手机号,转为字符串列表(避免数字格式问题)
tag_red_results = df.loc[match_mask, 'MobileNo'].astype(str).tolist()

代码说明

  • df[tag_cols].eq(target_tag):遍历所有标签列的单元格,返回布尔值DataFrame,标记每个单元格是否等于目标标签
  • .any(axis=1):按行判断,只要该行有一个单元格匹配目标标签,就返回True
  • df.loc[match_mask, 'MobileNo']:用筛选掩码过滤出符合条件的行,提取其中的MobileNo列
  • .astype(str).tolist():将手机号转为字符串(避免长数字被科学计数法处理),再转换为Python列表

执行后tag_red_results即可得到你需要的结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:41:33