Как преобразовать мой dataframe в полный int dataframe? - PullRequest
0 голосов
/ 08 октября 2019

Мне нужно запустить Binary Tree Classifier для данного мне набора данных.

Это то, что я сделал.

data = pd.read_csv('cars.csv')
print(data.head())
x = data.drop(' brand', axis = 1)
y = data[' brand']
    mpg   cylinders  cubicinches   hp  weightlbs   time-to-60   year     brand
0  14.0           8          350  165       4209           12   1972       US.
1  31.9           4           89   71       1925           14   1980   Europe.
2  17.0           8          302  140       3449           11   1971       US.
3  15.0           8          400  150       3761           10   1971       US.
4  30.5           4           98   63       2051           17   1978       US.
x = x.values
print(x)
[[14.0 8 '350' ... '4209' 12 1972]
 [31.9 4 '89' ... '1925' 14 1980]
 [17.0 8 '302' ... '3449' 11 1971]
 ...
 [22.0 6 '232' ... '2835' 15 1983]
 [18.0 6 '232' ... '3288' 16 1972]
 [22.0 6 '250' ... '3353' 15 1977]]

Когда я запускаю функцию fit (), я получаю ошибку

ValueError: could not convert string to float:

Итак, я предполагаю, что это из-за значений, которые я получил в кавычках. Есть ли что-нибудь вокруг этого, и если вы понимаете, почему я получаю некоторые значения в кавычках, пожалуйста, дайте мне знать. (cars.csv - это обычный CSV-файл, в котором нет ничего особенного, поэтому idk)

1 Ответ

1 голос
/ 08 октября 2019

Вы можете преобразовать столбцы, хранящиеся в виде строк в CSV-файле, в плавающее значение так:

df['columnname'].apply(lambda x:float(x))
...