如何查询DataFrame中FBC列值为IND对应的no与Linkedin列数据?
解决方案
方法1:使用loc索引(推荐)
loc是pandas中标签索引的常用方法,能直接按条件筛选行并指定目标列,代码清晰易读:
# 筛选FBC列值为IND的行,提取no和LinkedIn列 target_data = df.loc[df['FBC'] == 'IND', ['no', 'LinkedIn']]
如果匹配结果只有一行,可直接提取对应值:
# 获取对应no列的值 target_no = target_data['no'].iloc[0] # 获取对应LinkedIn链接 target_linkedin = target_data['LinkedIn'].iloc[0]
若有多行匹配,可转为字典列表方便后续处理:
result_dict_list = target_data.to_dict('records')
方法2:布尔索引筛选
先生成匹配条件的布尔掩码,再基于掩码筛选数据:
# 生成匹配条件的布尔掩码 mask = df['FBC'] == 'IND' # 筛选行并提取目标列 target_data = df[mask][['no', 'LinkedIn']]
额外提示
- 确认列名拼写完全一致(比如
LinkedIn的大小写、空格要和你的DataFrame对应) - 若
FBC列存在大小写不一致的情况,可统一转换后再匹配:mask = df['FBC'].str.upper() == 'IND' - 筛选后如果需要重置结果的索引,可使用
target_data.reset_index(drop=True)
内容的提问来源于stack exchange,提问作者Julieta M.
相关产品推荐
相关产品推荐

