Я пытаюсь построить график (в зависимости от того, что) и не могу увидеть метод .plot (), а также я получаю эту трассировку: (Данные напечатаны из df)
[ 2019 I II III IV
Total
3373 Barrio1 1175 1117 1081 Â
8079 Barrio2 2651 2570 2858 Â
3839 Barrio232 1364 1237 1238 Â
1762 Barrio2342342 544 547 671 Â
3946 Barrio224235 1257 1291 1398 Â
Traceback (most recent call last):
File "D:/Users/str_leu/Documents/PycharmProjects/flask/graphs.py", line 13, in <module>
plt.scatter(df['barrios'], df['leuros'])
TypeError: list indices must be integers, not str
Process finished with exit code 1
и код:
import pandas
import matplotlib.pyplot as plt
from bs4 import BeautifulSoup
table = BeautifulSoup(open('./PycharmProjects/flask/tables.html', 'r').read(), features="lxml").find('table')
df = pandas.read_html(str(table), decimal=',', thousands='.', index_col=0)
print df
plt.scatter(df['barrios'], df['euros'])
plt.show()
ОБНОВЛЕНО
df = pandas.read_html(str(table), decimal=',', thousands='.', index_col=2, header=1)
В конце я нашел, как с этим бороться, но проблема в последнем столбце (странный символ) кто-нибудь знает, как его пропустить?
ОБНОВЛЕНО2
[ District2352 1.175 1.117 1.081 Unnamed: 5
3.373
8079 District23422 2651 2570 2858 NaN
3839 District7678 1364 1237 1238 NaN
1762 Distric3 544 547 671 NaN
3946 dISTRICT1 1257 1291 1398 NaN
Нужно удалить последний столбец (весь), но не знаю, какой процесс передать из метода read_ html pandas в DataFrame, а затем нарисуйте график ...
ОБНОВЛЕНО 3
2019 I II III IV
Total
3373 dISTRICT1 1175 1117 1081 NaN
8079 District2 2651 2570 2858 NaN
Это пример с заголовками