我需要设置bokeh应用程序的帮助,以通过滑块交互更新我的DataTable 我有大约60个这样的参数,以及它们的大约15万个组合。 导入excel工作表本身大约需要12分钟,我正在尝试修复15至20个滑块,并尝试与它们一起使用,以根据一些工程过滤器查看其中的哪些组合符合我的标准。我尝试绘制图形,但不容易将其可视化,因此我试图通过其统计摘要表来了解变化情况
最初,我试图根据一些工程惯例对数据进行过滤,后来我试图对过滤后的数据进行排序或排序,并选择最佳的可能组合,这使我对15个参数中的每个参数应落入的范围有所了解在最佳设计中 目前,使用此代码,该表格无法显示,并且滑块不起作用 我怀疑表的定义和回调函数存在一些问题
我已经在Spyder IDE上使用最新的Python 3.7,最新的Bokeh 1.2.0和最新的Pandas编写了代码。我尝试做自定义JS,因为我真的不知道如何使用JavaScript编程,我宁愿完全避免使用它。
Data = pd.read_excel (r'C:\Users\vsrigiri\Desktop\app\try.xlsx') df = pd.DataFrame (Data, columns= ['No.','a','z_1', 'z_2','u']) dfs = pd.DataFrame(dfs.describe()) source = ColumnDataSource(dfs) a_Slider= RangeSlider(start=min(df['a']), end=max(df['a']), value=(min(df['a']),max(df['a'])), step=1, title='YY in mm') z_1_Slider = RangeSlider(start=min(df['z_1']), end=max(df['z_1']), value=(min(df['z_1']),max(df['z_1'])), step=1, title='ZZ') def callback(attr,new,old) a_s = a_Slider.value[0] a_e = a_Slider.value[1] z_1_s= z_1_Slider.value[0] z_1_e= z_1_Slider.value[1] dff= pd.DataFrame(df[(df.a >= a_s) & (df.a <= a_e) & (df.z_1 >= z_1_s) & (df.z_1 <= z_1_e) & (df.z_2 >= z_2_s) & (df.z_2 <= z_2_e)& (df.u >= u_s)& (df.u <= u_e)]) dft=dff.describe() source.data = ColumnDataSource.from_df(dft) #function ends here a_Slider.on_change("value",callback) z_1_Slider.on_change("value",callback) table=DataTable(source=source) Graphs = row([table]) Controls1= column([a_Slider,z_1_Slider]) layout= row(Controls1,Graphs)
我希望滑块更新屏幕上的统计信息表摘要 如果您可以指导我为每个滑块定义和回调编写循环,请优先考虑 我不想一次又一次地重复每一行。