не может конвертировать "," в "." - PullRequest
0 голосов
/ 02 ноября 2019

data = pd.read_csv (csv_file, delimiter = ';', decimal = ',', index_col = 0, parse_dates = ['#timestamp'], date_parser = dateparse)

decimal = ','-> Это не повлияло на некоторые столбцы. Я имею в виду, у них все еще есть "," вместо "."

Из-за этой проблемы я не могу разделить, вычесть и т. Д.

TypeError: unsupported operand type(s) for /: 'str' and 'int'

Я применил"заменить" функцию для этих столбцов, но она не сработала. Я понял, что мои столбцы имеют разные типы, некоторые из них строковые, некоторые из них плавающие, и я попробовал это:

measurements = measurements.astype(float)

Но я получил эту ошибку:

ValueError: could not convert string to float: '0,00'

Вот мой код:

measurements = pd.DataFrame()
for csv_file in csv_paths:
    dateparse = lambda x: pd.datetime.strptime(x, '%d.%m.%Y %H:%M:%S')
    data = pd.read_csv(csv_file, delimiter = ';', decimal = ',', index_col = 0, parse_dates = ['#timestamp'], date_parser=dateparse)
measurements = measurements.append(data, sort = False)

measurements = measurements.reset_index().drop_duplicates(subset='#timestamp', keep='last').set_index('#timestamp')

Часть вывода этого кода:

   Date                          A           B           C
   2019-11-01 02:00:00           61891.53    349423.1    112412,3
   2019-11-01 02:00:00           142134.3    235290.5    27428,67
   2019-11-01 02:00:00           32423.12    73653.32    98732,83
   2019-11-01 02:00:00           54832.57    82057.67    238758,6
   2019-11-01 02:00:00           141023.1    104109.1    332856,7

Как мне решить эту проблему?

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