【发布时间】:2019-05-17 13:26:14
【问题描述】:
我正在尝试将条件应用于我的 pandas 数据框中的列,但出现此错误:TypeError: 'float' object is not iterable
Cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
'Price': [22.000,25.000,27.000,35.000]
}
Cars = DataFrame(Cars, columns= ['Brand', 'Price'])
Cars ['Price'] = Cars ['Price'].apply(lambda x: [0 if y <= 25.000 else 1 for y in x])
有什么想法吗?
【问题讨论】:
-
对于
apply,函数的参数是容器的单个元素。换句话说,你只需要lambda x: 0 if x <= 25.000 else 1,而不是lambda x: [0 if y <= 25.000 else 1 for y in x]。