У меня есть фрейм данных, который выглядит следующим образом: 13000 строк
print(df)
Date Price Nation
0 01/01/2018 -5.000,73 Spain
1 01/01/2018 15,60 Italy
3 01/01/2018 14,13 Italy
4 01/01/2018 12,53 Spain
5 01/01/2018 16,64 Italy
6 01/01/2018 22,48 Italy
7 01/01/2018 24,30 Italy
8 01/01/2018 24,88 Spain
9 01/01/2018 31,40 Italy
10 01/01/2018 18,74 Italy
Столбец цены равен non-null object
Я удалил все пробелы и удалил все пустые строки, которые пытался работать толькос преобразованием ценового столбца из серии в строку
string=df['Price'].to_string()
print(string)
0 -5.000,73
1 15,60
3 14,13
4 12,53
5 16,64
6 22.48
7 24.30
8 24.88
9 31.40
10 18.74
Когда я попытался
string=string.strip('.')
string=string.replace(',','.')
float(string.strip().strip("'"))
Система вернула мне сообщение об ошибке:
ValueError: could not convert string to float: '0
-5.000.73\n1 15.60\n3 14.13\n4 12.53\n5 16.64\n6 22.48\n7 24.30\n8 24.88\n9 31.40\n10
Данные загружаются из CSV, и разделитель равен ,
- Как я могу легко преобразовать в число с плавающей точкой, учитывая, что \ n7, \ n10, ..., \ n160000не постоянно увеличивается?
- Почему я получаю такую проблему?
- Если я открываю свой CSV с помощью Jupyter или в Excel, я не вижу
/n32
, но только что-то вроде этого"01/01/2018","16,60","Spain"
, я знаю, что /n
используется для задания вертикального пространства, но я не знаю, как с этим справиться, я заметил, что это связано с индексом
Я читал этовопросы, пробовал другие решения, но никто не решил мою проблему:
numpy.loadtxt, ValueError: не удалось преобразовать строку в число с плавающей точкой
ValueError: не удалось преобразоватьstring to float: '-0,274697 \ n'
Как мне разобрать строку в float или int в Python?
Python преобразовать строку в число с плавающей точкой
Python.ValueError не удалось преобразовать строку в число с плавающей точкой:
ValueError: не удалось преобразовать строку в число с плавающей точкой в Pyspark