Преобразование всех ячеек текстовых данных в числа в файле .csv с Python - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть набор данных из файла .csv, который содержит 4084 строки и 39 столбцов. Я просто пытаюсь следовать процессу регрессии Logisti c (https://towardsdatascience.com/dealing-with-categorical-data-fast-an-example-d4329b44253d), который требует от меня всех значений в числовом формате, предпочтительно в этом случае с плавающей точкой.

В последнем блоке моего кода я разделяю разделы X и Y обучающих данных следующим образом:

X_train_numerical_indices = X_train_numerical.index.values
y_train_numerical = y_train_original[y_train_original.index. \
                                    isin(X_train_numerical_indices)]

Как только я перехожу к подсчету показателя точности для Logisti c Регрессия (нет необходимости копировать этот фрагмент кода), я получаю следующую ошибку из y_train_numeric разделения обучающих данных; "TypeError: '<' не поддерживается между экземплярами 'float' и 'str'" </p>

Я просто хочу преобразовать ВСЕ одиночные ячейки в каждой строке y_train_numeric, например, в числа с плавающей точкой, например 0.

Я пытался выполнить преобразование с Numpy astype (float) и с этой функцией, но я всегда получаю следующую ошибку "ValueError: не удалось преобразовать строку в float: 'company_id / id'" et c. ":

import csv

def read_lines():
    with open('CRM_kaikki_data_Pekka1.csv', 'rU') as data:
        reader = csv.reader(data)
        for row in reader:
            yield [ float(i) for i in row ]

for i in read_lines():
    print(i)

Конечно, я хочу отсчитать заголовки столбцов, но все остальные ячейки в файле .csv, содержащие текст, должны быть преобразованы в числа. Без исключений.

...