Python DataFrame跨Dev等四列搜索账号获取对应Product Owner方法
Python Pandas 跨多列查找账号实现方案
核心逻辑
利用Pandas的等值判断 + 行级任意匹配逻辑,一次性覆盖4个目标列的搜索,不需要单独遍历每一列。
完整实现代码
# 定义需要搜索的环境列 search_columns = ["Dev", "Int", "Preprod", "Prod"] # 目标账号 target_acct = 324852125 # 筛选出任意搜索列等于目标账号的行 matched_row = df1[df1[search_columns].eq(target_acct).any(axis=1)] # 兼容账号不存在的场景,避免索引越界报错 if not matched_row.empty: PO = matched_row.iloc[0]["Product Owner"] print(PO) else: print(f"未查询到账号{target_acct}的关联信息")
代码说明
df1[search_columns]仅选中需要搜索的4个环境列,排除其他无关列的干扰.eq(target_acct)对选中的所有列执行等值判断,返回布尔类型的同结构DataFrame.any(axis=1)按行做聚合判断:只要某一行有任意一列匹配账号就返回True,最终得到行筛选的布尔序列- 额外增加了空行判断逻辑,账号不存在时不会抛出
IndexError报错
测试效果
输入示例账号324852125时,输出结果为:
user1@company.com
和预期完全一致。
内容的提问来源于stack exchange,提问作者DaveC
相关产品推荐
相关产品推荐

