如何清理dataframe中值为“1012”(在范围内表示)的列?

2024-04-24 01:00:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个汽车销售价格数据集,在这里我试图预测的销售价格给定的汽车的特点。我有一个变量叫做“燃料经济型城市”,它的值是10,12,10-12,13-14,。。在数据帧中。我需要把它转换成数值来应用回归算法。我没有汽车方面的知识。请帮忙

我试图删除连字符,但它被视为一个四位数的值,我不认为在这种情况下是正确的


Tags: 数据算法情况字符汽车数值燃料销售价格
1条回答
网友
1楼 · 发布于 2024-04-24 01:00:05

您可以尝试pd.get_dummies(),它将为不同的范围创建一个单独的列,将每个列标记为True(1)或False(0)。然后可以用它们来代替范围(这些范围被认为是分类数据)

import pandas as pd

data = [[10,"blue", "Ford"], [12,"green", "Chevy"],["10-12","white", "Chrysler"],["13-14", "red", "Subaru"]]
df = pd.DataFrame(data, columns = ["Fuel Economy city", "Color", "Make"])
print(df) 
df = pd.get_dummies(df)
print(df)

输出:

Fuel Economy city_10  Fuel Economy city_12  Fuel Economy city_10-12  \
0                     1                     0                        0   
1                     0                     1                        0   
2                     0                     0                        1   
3                     0                     0                        0   

Fuel Economy city_13-14  Color_blue  Color_green  Color_red  Color_white  \
0                        0           1            0          0            0   
1                        0           0            1          0            0   
2                        0           0            0          0            1   
3                        1           0            0          1            0   

Make_Chevy  Make_Chrysler  Make_Ford  Make_Subaru  
0           0              0          1            0  
1           1              0          0            0  
2           0              1          0            0  
3           0              0          0            1  

相关问题 更多 >