gpt4 book ai didi

python - 类型错误 : 'float' object is not iterable with apply lambda

转载 作者:太空宇宙 更新时间:2023-11-03 23:59:34 25 4
gpt4 key购买 nike

我正在尝试将条件应用于我的 pandas 数据框中的列,但出现此错误:

TypeError: 'float' 对象不可迭代

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 是个糟糕的选择,因为底层有循环,在大数据中速度很慢。更好的方法是将矢量化解决方案与 numpy.where 一起使用:

Cars ['Price'] = np.where(Cars ['Price'] <= 25.000, 0, 1)

或者将 innvert 条件转换为 > 并转换为 integer for True/False to 0/1 映射:

Cars ['Price'] = (Cars ['Price'] > 25.000).astype(int)

print (Cars)

Brand Price
0 Honda Civic 0
1 Toyota Corolla 0
2 Ford Focus 1
3 Audi A4 1

关于python - 类型错误 : 'float' object is not iterable with apply lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56187409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com