如何根据Pandas DataFrame指定列信息提取对应行的单个数值
你当前得到的返回结果是Pandas的Series类型,不是单个标量值,因此会自带索引、字段名、数据类型等附加信息。下面是对应的解决方法和优化方案:
1. 基于现有代码的快速调整
直接在查询语句后追加.item()方法,即可提取出纯数值:
test = Constants.loc[Constants['Name'] == 'Jute bag', 'Value'].item() # 此时test的输出即为0.00025
如果你的Name列存在重复的查询值,只需要取第一个匹配结果的话,可以改用.iloc[0]:
test = Constants.loc[Constants['Name'] == 'Jute bag', 'Value'].iloc[0]
2. 更适合查询表场景的优化方案
因为你是把这份数据当作固定查询表使用,建议直接将Name列设置为索引,后续查询代码更简洁,查找效率也更高:
# 初始化查询表时设置索引 Constants = df.set_index('Name') # 后续直接通过索引取值,返回结果就是纯数值 test = Constants.loc['Jute bag', 'Value']
内容的提问来源于stack exchange,提问作者switchback
相关产品推荐
相关产品推荐

