我有一个数据框,我想在熊猫中使用.loc()函数从数据框的“票价”和“名称”列中进行条件提取。
quest = data.loc[data['Fare'] == 512.329, 'Name']
但是当我运行此程序并尝试在“名称”列中找出负责票价的名称时,我得到了一个空序列。
Series([], Name: Name, dtype: object)
如何解决此问题并获取名称?
答案 0 :(得分:0)
我认为条件data['Fare'] == 512.329
未得到验证,我认为这可能是类型错误。请确认您的512.329
是浮点数(而不是字符串)
for i in data['Fare']:
print(type(i))
# desired output :
# <class 'float'>
# unwanted output :
# <class 'str'>
答案 1 :(得分:0)
DataFrame数据中的“票价”是什么类型?可能不是浮点数。如果它是字符串,则data['Fare'] == 512.329
将不返回任何结果。
首先通过执行
检查data['Fare']
的类型
data['Fare'].dtype
如果它是dtype('O')
,则可以通过执行将其转换为浮点型
data['Fare'] = data['Fare'].astype(float)
或使用类似这样的字符串进行查询
quest = data.loc[data['Fare'] == '512.329', 'Name']