Игнорирование символа при чтении csv pandas

Есть csv вида

"Дата","Цена","Откр.","Макс.","Мин.","Объём","Изм. %" "30.08.2022","19.792,6","20.295,6","20.558,2","19.559,7","308,41K","-2,48%" "29.08.2022","20.295,8","19.551,3","20.394,5","19.551,2","248,04K","3,81%" "28.08.2022","19.550,2","20.034,2","20.150,8","19.542,9","159,60K","-2,41%"

читаю его через pandas:

import Pandas as pd
df = pd.read_csv('file.csv')[['Цена','Откр.','Макс.','Мин.','Изм. %']]

И получаю

          Цена     Откр.     Макс.      Мин.  Изм. %
0     19.792,6  20.295,6  20.558,2  19.559,7  -2,48%
1     20.295,8  19.551,3  20.394,5  19.551,2   3,81%
2     19.550,2  20.034,2  20.150,8  19.542,9  -2,41%
3     20.033,9  20.249,9  20.343,6  19.849,8  -1,07%

Как можно получить данные вида

         Цена     Откр.     Макс.      Мин.  Изм. %
0     19792.6   20295.6   20558.2   19559.7   -2,48
1     20295.8   19551.3   20394.5   19551.2    3,81
2     19550.2   20034.2   20150.8   19542.9   -2,41
3     20033.9   20249.9   20343.6   19849.8   -1,07

То есть как можно убрать лишние символы без изменения в файле?


Ответы (3 шт):

Автор решения: mike1452

Нашел способ

df = df.replace(to_replace ='[%.]', value = '', regex = True).replace(to_replace =',', value = '.', regex = True)

выдает нужный результат

→ Ссылка
Автор решения: Зарина
import pandas as pd
w = lambda x: (x.replace('.','').replace(",", ".")) # функция, которая уберет точки и заменит запятую на точку
z = lambda x: (x.replace('%','')) # функция, которая уберет %

# функция converters применит функцию w ко всем колонкам, которые вы укажете
df = pd.read_csv('file.csv', converters={'Цена':w, 'Откр.':w, 'Макс.':w, 'Мин.':w, 'Изм. %':z})[['Цена','Откр.','Макс.','Мин.','Изм. %']]
→ Ссылка
Автор решения: strawdog

можно сразу читать файл с нужной конвертацией. и научитесь задавать нужные колонки при открытии файла:

df = pd.read_csv("file.csv", decimal=",", thousands=".", usecols=[1,2,3,4,6],
                 converters = {6:lambda x: float(x.strip('%').replace(",","."))})

df:

      Цена    Откр.    Макс.     Мин.  Изм. %
0  19792.6  20295.6  20558.2  19559.7   -2.48
1  20295.8  19551.3  20394.5  19551.2    3.81
2  19550.2  20034.2  20150.8  19542.9   -2.41​
→ Ссылка