Загрузите данные из файла Chile.csv
в датафрейм ch
и удалите из него строки с пропущенными значениями.
import pandas as pd
ch = pd.read_csv("https://allatambov.github.io/pydj/seminars/Chile.csv")
ch.dropna(inplace = True)
Создайте виджет типа Dropdown, выпадающее меню, где опциями меню являются названия столбцов датафрейма ch
, кроме Unnamed:0
, а значением по умолчанию является population
. Сохраните его в переменную choose
и выведите на экран.
import ipywidgets as widgets
choose = widgets.Dropdown(options = ch.columns[1:],
value = "population",
description = "Column:")
display(choose)
Dropdown(description='Column:', index=1, options=('region', 'population', 'sex', 'age', 'education', 'income',…
Напишите функцию desc_plot()
, которая принимает на вход строку с названием столбца, которое выбрал пользователь в выпадающем меню, и строит соответствующий график:
object
, то строит гистограмму;object
, то строит столбиковую диаграмму.import seaborn as sns
sns.set()
def desc_plot(c):
if ch[c].dtype != "object":
sns.distplot(ch[c], kde = False)
else:
tab = ch[c].value_counts()
x = tab.index
y = tab.values
sns.barplot(x, y)
# прежде изменим desc_plot()
# переопределим c, теперь c – это значение, выбранное в choose
def desc_plot(c):
c = choose.value
if ch[c].dtype != "object":
sns.distplot(ch[c], kde = False)
else:
tab = ch[c].value_counts()
x = tab.index
y = tab.values
sns.barplot(x, y)
button = widgets.Button(description = "Click")
button.on_click(desc_plot)
display(choose)
display(button)
Dropdown(description='Column:', index=1, options=('region', 'population', 'sex', 'age', 'education', 'income',…
Button(description='Click', style=ButtonStyle())