Постройте весь DataFrame pandas с помощью боке

Я хотел бы построить целый DataFrame панд с боке. То есть я ищу боке-эквивалент третьей строки:

import pandas as pd
income_df = pd.read_csv("income_2013_dollars.csv", sep='\t', thousands=',')
income_df.plot(x="year")

Есть ли в настоящее время способ сделать это или мне нужно передавать каждое значение y отдельно?


person Anarcho-Chossid    schedule 22.02.2015    source источник
comment
В какой части вы застряли? Вы не указали, какой тип графика вы хотите, также легко получить значения в виде массива или списка, df['y_col'].values это может быть или не быть необходимым, иначе df['y_col'].values.to_list() вы дадите вам список   -  person EdChum    schedule 22.02.2015


Ответы (2)


Примечание разработчиков проекта Bokeh:. Этот ответ относится к устаревшему и устаревшему API, который давно был удален из Bokeh. Для получения информации о создании гистограмм с помощью современных и полностью поддерживаемых API-интерфейсов Bokeh см. Другие вопросы / ответы.


Вы можете найти полезные примеры диаграмм:

https://github.com/bokeh/bokeh/tree/master/examples/charts

Если вам нужна гистограмма, это будет:

from bokeh.charts import Bar
Bar(income_df, notebook=True).show()  # assuming the index is corretly set on your df

Вы можете захотеть Line или TimeSeries, которые работают аналогично - просто ознакомьтесь с примерами для получения более подробной информации и дополнительных настроек, таких как добавление заголовков, меток и т. Д.

Обратите внимание, что вы можете использовать другие методы вывода - записную книжку, файл или сервер. См. Документацию здесь: http://docs.bokeh.org/en/latest/docs/user_guide/charts.html#generic-arguments.

Обновление: (извините за путаницу в том, как отображать вывод). Альтернативный способ указать тип отображения диаграммы - использовать методы output_notebook(), output_file("file.html"), output_server(), а затем использовать метод show. Например

from bokeh.charts import Bar
from bokeh.plotting import output_notebook, show
output_notebook()
bar = Bar(income_df)
show(bar)

Однако вы не можете делать следующее

from bokeh.charts import Bar
from bokeh.plotting import output_notebook
output_notebook()
Bar(income_df).show()  # WILL GIVE YOU AN ERROR

Два метода шоу разные.

person birdsarah    schedule 22.02.2015
comment
Ответ Сары очень точен и уже содержит полезные детали. Стоит упомянуть, что явная поддержка output_notebook (), output_file (), output_server () была добавлена ​​в ›выпусках 0.8 (со многими другими улучшениями) с намерением уменьшить различия между интерфейсом Charts и другими API нижнего уровня Bokeh. - person Fabio Pliger; 24.02.2015
comment
Ссылка устарела. - person Sören; 18.05.2018
comment
Диаграммы боке устарели, и к пакету нет документации. Я думаю, что сейчас следует использовать боке . - person 9769953; 06.11.2018

См. Этот раздел Руководства пользователя для получения современной информации о создании гистограмм с помощью Pandas:

https://docs.bokeh.org/en/latest/docs/user_guide/categorical.html#pandas

Например:

from bokeh.io import show, output_file
from bokeh.models import ColumnDataSource
from bokeh.palettes import Spectral5
from bokeh.plotting import figure
from bokeh.sampledata.autompg import autompg as df
from bokeh.transform import factor_cmap

output_file("groupby.html")

df.cyl = df.cyl.astype(str)
group = df.groupby('cyl')

source = ColumnDataSource(group)

cyl_cmap = factor_cmap('cyl', palette=Spectral5, factors=sorted(df.cyl.unique()))

p = figure(plot_height=350, x_range=group, title="MPG by # Cylinders",
           toolbar_location=None, tools="")

p.vbar(x='cyl', top='mpg_mean', width=1, source=source,
       line_color=cyl_cmap, fill_color=cyl_cmap)

p.y_range.start = 0
p.xgrid.grid_line_color = None
p.xaxis.axis_label = "some stuff"
p.xaxis.major_label_orientation = 1.2
p.outline_line_color = None

show(p)

введите здесь описание изображения

person bigreddot    schedule 23.11.2019