Почему при парсинге страницы не срабатывает decimal=',' и запятые не заменяются точками?

Цель, скачать таблицу для анализа. Запускаю парсинг:

import pandas as pd

url = 'https://www.cbr.ru/hd_base/itogidepauct/Full/?UniDbQuery.Posted=True&UniDbQuery.From=07.07.2020&UniDbQuery.To=01.09.2020&UniDbQuery.Atype=0'
data = pd.read_html(url, index_col=0, decimal=",")
data[0]

Таблица скачивается, но запятые не заменяются точками, а исчезают. Что я делаю неправильно?


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

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

Там тысячи разделены пробелом. Если добавить thousands=" ", то все нормально парсится.

data = pd.read_html(url, index_col=0, decimal=",", thousands=" ")

Проверка типов:

data[0].dtypes
Тип инструмента                                                  object
Срок депозита                                                    object
Дата привлечения денежных средств в депозит                      object
Дата возврата депозита и уплаты процентов                        object
Максимальный объем привлекаемых денежных средств (млрд руб.)      int64
Объем в заявках (млрд руб.)                                     float64
Количество кредитных организаций, подавших заявки                 int64
Максимальная возможная ставка в заявке (% годовых)              float64
Минимальная заявленная ставка (% годовых)                       float64
Максимальная заявленная ставка (% годовых)                      float64
Способ проведения аукциона                                       object
Ставка отсечения (% годовых)                                    float64
Средневзвешенная ставка (% годовых)                             float64
Объем привлеченных денежных средств (млрд руб.)                 float64
dtype: object
→ Ссылка