使用Bokeh / Widget / Callback过滤数据帧

时间:2017-10-13 00:33:42

标签: python drop-down-menu bokeh

目前我的数据集格式为:Date, Currency, Price我在货币级别过滤,然后用它来生成图表。

我想改进它,以便使用Python小部件/下拉框完成所有过滤?

我是Python / Bokeh的新手,所以我需要一些帮助。

Date      Currency    Price
1/1/2017  AUDUSD      1.01
2/1/2017  AUDUSD      1.02
3/1/2017  AUDUSD      1.03
1/1/2017  USDJPY      1.01
2/1/2017  USDJPY      1.02
3/1/2017  USDJPY      1.03
1/1/2017  CADUSD      1.01
2/1/2017  CADUSD      1.02
3/1/2017  CADUSD      1.03

1 个答案:

答案 0 :(得分:0)

#Creating CCyPair wise menu
menu = Select(options=['AUDUSD','USDJPY'], value='AUDUSD')
#Function for dataframe
def get_all_price_dataset(src,name):
  df = src[(src.CCYPair == name) & (src.TYPE == 'Prices')].copy()
  return df
# Function to update Plot
def update_plot(attrname, old, new):
  newccy = menu.value
  side = buysellmenu.value
  datevalue = datemenu.value
  src_data_table = 
  ColumnDataSource(get_all_dataset(Combined,newccy,side,datevalue))
  DisplayData.data.update(src_data_table.data)
  #On change in menu,function gets called.
  menu.on_change('value', update_plot)
  #Displaying Menu and Plot.
  layout = layout([menu],
                  [plot])
  curdoc().add_root(layout)