Проблемы с загрузкой данных CSV в Bokeh - PullRequest
1 голос
/ 09 апреля 2019

У меня проблемы с загрузкой данных из CSV-файла в Bokeh, из базы данных Bokeh это работает, хотя, когда я пытаюсь из CSV-файла, он не загружается, поэтому я читал, но пока не повезло.Заранее спасибо

df = pd.read_csv('unemployment1948.csv', delimiter = ',', index_col = 
                 'Year')
df = pd.DataFrame(df)
df.head()


output_notebook()
group = df[35:].groupby('Year')
source = ColumnDataSource(df)
group.describe()
df.columns
#source = ColumnDataSource(df(x=df.loc[15:40].index, 
#                              y=df.loc[15:40].Annual))

p = figure(plot_height=300, plot_width=900, x_range=group, 
           title='Umployment over the years',
           x_axis_label='Year', y_axis_label='Annual')

p.circle(x=index, y='Annual', width=0.9, color ='#35B778' , source=source)
show(p)

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Я узнал, как обращаться с DataFrame и ColumnDateSource, чтобы вы могли легко манипулировать данными и не нуждаться в использовании модуля ОС. Спасибо за помощь.

import csv
#import re
import pandas as pd
import numpy as np
#import random
##from collections import Counter, defaultdict
#import random

dfU = pd.read_csv('unemployment1948.csv')
dfU = pd.DataFrame(dfU)
dfU.index
y = dfU.iloc[35:].Year
x = dfU.iloc[35:].Annual
#xRange = dfU.iloc[35:]
source = ColumnDataSource(dfU)

output_notebook()
p = figure(plot_height=300, plot_width=800, title='Unemployment over the years')
p.vbar(x='Year', top='Annual', width=0.9, color ='#35B778' , source=source)
show(p)
0 голосов
/ 09 апреля 2019

Ваш df - это уже панда DataFrame. Попробуйте это:

import os
import pandas as pd
from bokeh.io import show
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure

df = pd.read_csv(os.path.join(os.path.dirname(__file__), "unemployment1948.csv",))
output_notebook()
source = ColumnDataSource(df)

p = figure(plot_height = 300, plot_width = 900,
           title = 'Umployment over the years',
           x_axis_label = 'Year', y_axis_label = 'Annual')

p.circle(x = 'Year', y = 'Annual', line_width = 0.9, color = '#35B778' , source = source)
show(p)

enter image description here

...