Достать значение курса валюты из таблицы используя pandas

есть код:

import pandas as pd

currency = 'usd'

url = "https://www.fontanka.ru/currency.html"
df = pd.read_html(url)[0]
rate = df.loc[df['Валюта'].isin([str(currency)]), ['Курс']]

выдает:

    Курс
0  86.19

мне нужно достать только значение курса USD 86.19, без назавания колонок, номера строки итп, голое число. Как это можно сделать без костылей типа replace?


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

Автор решения: Wiktor Stribiżew

У вас rate — это DataFrame с одним столбцом Курс и одной строкой в нём.

rate['Курс'] — это Series.

С помощью rate['Курс'].iloc[0] вы получаете доступ к первому элементу Series.

В общем, используйте

import pandas as pd

currency = 'usd'

url = "https://www.fontanka.ru/currency.html"
df = pd.read_html(url)[0]
rate = df.loc[df['Валюта'].isin([str(currency)]), ['Курс']]

print( float(rate['Курс'].iloc[0]) )
→ Ссылка
Автор решения: Алексей Р
rate = df[df['Валюта'].eq(currency)]['Курс'][0]
→ Ссылка