Как извлечь столбцы из сложной html-таблицы?
Подскажите, пожалуйста, как получить доступ к столбцам Date.1 и New в таблице.
import pandas as pd
dfs = pd.read_html('https://en.wikipedia.org/wiki/Template:COVID-19_pandemic_data/Russia_medical_cases')
dfs[0][['Confirmed','Date']][:-2] # возвращает необходимые строки и четыре столбца, а надо только два
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Воспользуйтесь pd.IndexSlice:
In [37]: idx = pd.IndexSlice
In [38]: dfs[0].loc[:, idx[["Confirmed", "Date"], ["Date", "New"]]]
Out[38]:
Date Confirmed
Date New
0 31 Jan 1
1 11 Feb –
2 12 Feb –
3 2 Mar 1
4 5 Mar 1
.. ... ...
99 9 June 8595
100 10 June 8404
101 Total 493,657[a]
102 Date New
103 Date Confirmed
[104 rows x 2 columns]
Из комментария:
А как прочесть значения полей, например, в 99-ой строке? Чтобы получить "9 June" и 8595?
In [51]: dfs[0].loc[99, idx[["Confirmed", "Date"], ["Date", "New"]]]
Out[51]:
Date Date 9 June
Confirmed New 8595
Name: 99, dtype: object
