ValueError: не удалось преобразовать строку в число с плавающей точкой: 'HH_Income' - PullRequest
0 голосов
/ 30 октября 2019

Я хочу преобразовать входящие данные в плавающее в Excel-файле, и я не знаю, как это сделать, пожалуйста, если кто-нибудь может мне помочь, я буду очень признателен

with open(file_path, "rt") as csv_file:
        content = csv.reader(csv_file)
        for row in content:
            values = []
            for column in row:
                values.append({'number_value': float(column)})
            payload = {
                'row': {'values': values}
            }

            response = prediction_client.predict(model_full_id, payload)
            print("Prediction results:")
            for result in response.payload:
                print("Predicted class name: {}".format(result.display_name))
                print("Predicted class score: {}".format(result.classification.score))

есть некоторыеданные в строковом формате, как я могу преобразовать те, которые в строковом формате, чтобы плавать, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Вы можете заключить часть кода, которая генерирует исключение, в блок try:

with open(file_path, "rt") as csv_file:
    content = csv.reader(csv_file)
    for row in content:
        values = []
        for column in row:
            try:
                values.append({'number_value': float(column)})
            except ValueError:
                values.append({'number_value': column})
        payload = {
            'row': {'values': values}
        }

        response = prediction_client.predict(model_full_id, payload)
        print("Prediction results:")
        for result in response.payload:
            print("Predicted class name: {}".format(result.display_name))
            print("Predicted class score: {}".format(result.classification.score))
0 голосов
/ 30 октября 2019

Я не уверен, каков формат данных вашего CSV-файла или что вы хотите делать с данными после их загрузки. Однако ваш вопрос спрашивает, как «преобразовать входящие данные в float в файл Excel».

Самый простой способ сделать это - использовать модуль pandas для чтения, чтения файла CSV и преобразования типов данных. в новом фрейме данных.

Вы можете использовать аргумент dtype в методе read_csv, чтобы изменить типы данных столбцов, которые читаются, например, прочитать целочисленное значение как число с плавающей запятой. Посмотрите документацию здесь .

С точки зрения приведенного выше кода, вы можете попробовать что-то вроде (заменив 'filename.csv' на имя вашего файла,и значения 'column_name _' со значениями в CSV):

import pandas as pd
import numpy as np

df = pd.read_csv('filename.csv', dtype = {'column_name_1': np.float64, 'column_name_2': np.float64,})

Вы можете указать, какие из ваших столбцов вы хотите импортировать как тип с плавающей запятой. Мы можем подтвердить, что это так, проверив тип данных каждого столбца с помощью:

print(df.dtypes)

Затем должно отобразиться что-то вроде:

column_name_1    float64
column_name_2    float64
dtype: object

Затем вы можете использовать iterrows() Функция для перебора строк в новом фрейме данных. Вы можете обратиться к этой ссылке для получения помощи по использованию этого: Как перебирать строки в DataFrame в Pandas?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...