You need to enable JavaScript to run this app. Python pandas如何按Material列指定值匹配输出对应Company列内容
优惠活动
大模型
产品
解决方案
定价
更多

Python pandas如何按Material列指定值匹配输出对应Company列内容

Python Pandas 实现方案

你不需要手动遍历所有行列,用pandas自带的布尔索引就能高效完成需求,具体实现如下:

前置说明

你现有代码里的df = pd.DataFrame(material_data_df, columns=['material in drawing'])属于冗余代码,pd.read_excel读取返回的结果本身就是DataFrame格式,不需要二次转换。
如果你的Excel里材料列实际名称是material in drawing,记得把下方代码里的列名替换为实际值即可。


方案1:布尔索引筛选(推荐,性能最优)

直接按条件筛选目标行,提取对应公司字段:

import pandas as pd

# 读取Excel文件
material_data_df = pd.read_excel(r'C:\Users\xxxxxx\Desktop\materials.xlsx')

# 筛选Material列等于Iron的行,提取Company列值
target_companies = material_data_df.loc[material_data_df['Material'] == 'Iron', 'Company']

# 逐行打印匹配到的公司名称
for company in target_companies:
    print(company)

方案2:遍历每行实现(适合需额外处理单行列逻辑的场景)

如果你确实需要遍历所有行处理,可以用iterrows方法实现:

import pandas as pd

material_data_df = pd.read_excel(r'C:\Users\xxxxxx\Desktop\materials.xlsx')

# 遍历表中每一行
for _, row in material_data_df.iterrows():
    if row['Material'] == 'Iron':
        print(row['Company'])

异常排查

如果没有输出结果,请优先检查:

  • Excel中的列名和代码里的列名是否完全一致,大小写、空格都要匹配
  • Material列里的Iron是否存在大小写偏差、前后多余空格,比如是不是写为iron或者Iron

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 11:36:04