Python 类型错误:';浮动';对象不可与apply lambda一起使用

Python 类型错误:';浮动';对象不可与apply lambda一起使用,python,pandas,dataframe,Python,Pandas,Dataframe,我试图将条件应用于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['Pri

我试图将条件应用于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如果y不遍历列表,
。将
应用到列中的每个元素

试试这句话:


Cars['Price']=Cars['Price'].apply(λx:0,如果x这里
apply
是一个不好的选择,因为引擎盖下有循环,所以在大数据中速度很慢。最好使用矢量化解决方案:



使用
apply
,函数的参数是容器的单个元素。换句话说,不是
lambda x:[0如果y My bad,我对.apply的定义解释错误
Cars ['Price'] = Cars ['Price'].apply(lambda x: [0 if y <= 25.000 else 1 for y in x])
Cars ['Price'] = np.where(Cars ['Price'] <= 25.000, 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