#!/usr/bin/env python # coding: utf-8 # ## Recognized Formats # In[ ]: # 1 (Array of Integers parameter) from beakerx import * TableDisplay({"a":100, "b":200, "c":300}) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 1\nImage("../../resources/img/python/tableAPI/cell1_case1.png")\n') # In[ ]: # 2 (2D Array of Integers parameter) TableDisplay([{"a":1}, {"a":10, "b":20}]) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 2\nImage("../../resources/img/python/tableAPI/cell2_case1.png")\n') # In[ ]: # 3 (Array of Decimals parameter) TableDisplay({"a":1/10, "b":1/20, "c":0.33}) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 3\nImage("../../resources/img/python/tableAPI/cell3_case1.png")\n') # In[ ]: # 4 (2D Array of Decimals parameter) TableDisplay([{"a":1/10}, {"a":1/100, "b":3.12345}]) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 4\nImage("../../resources/img/python/tableAPI/cell4_case1.png")\n') # In[ ]: # 5 (Array of Strings parameter) TableDisplay({"a":'string aaa', "b":'string bbb', "c":'string ccc'}) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 5\nImage("../../resources/img/python/tableAPI/cell5_case1.png")\n') # In[ ]: # 6 (2D Array of Strings parameter) TableDisplay([{"a":'a'}, {"a":'1a', "b":'2b'}]) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 6\nImage("../../resources/img/python/tableAPI/cell6_case1.png")\n') # In[ ]: # 7 (Array of Integer Arrays parameter) TableDisplay({"a":[1, 2, 3], "b":[10, 20, 30], "c":[100, 200, 300]}) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 7\nImage("../../resources/img/python/tableAPI/cell7_case1.png")\n') # In[ ]: # 8 (2D Array of Integer Arrays parameter) TableDisplay([ {"a":[1, 2, 3]}, {"a":[10, 20, 30], "b":[100, 200, 300]}]) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 8\nImage("../../resources/img/python/tableAPI/cell8_case1.png")\n') # In[ ]: # 9 (2D Array of Integer,Decimal,String,Array Arrays parameter) row1 = {"a":100, "b":200, "c":300} row2 = {"a":1/10, "b":1/20, "c":0.33} row3 = {"a":'a a a', "b":'b b b', "c":'c c c'} row4 = {"a":[1, 2, 3], "b":[10, 20, 30], "c":[100, 200, 300]} TableDisplay([row1, row2, row3, row4]) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 9\nImage("../../resources/img/python/tableAPI/cell9_case1.png")\n') # In[ ]: # 10 ([Integer,Decimal,String,Array] parameter) TableDisplay({"a":100, "b":1/20, "c":'c c c', "d":[100, 200, 300]}) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 10\nImage("../../resources/img/python/tableAPI/cell10_case1.png")\n') # In[ ]: # 11 (2D Arrays of [Integer,Decimal,String,Array] parameter) row1 = {"a":10, "b":1/10, "c":'c', "d":[100, 200]} row2 = {"a":100, "b":1/20, "c":'c c c', "d":[100, 200, 300]} TableDisplay([row1, row2]) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 11\nImage("../../resources/img/python/tableAPI/cell11_case1.png")\n') # In[ ]: # 12 (numbers as name of Array keys (Array parameter)) TableDisplay({10:20, 1/10:1/20, 'c':'c c c', '[100, 200]':[100, 200, 300]}) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 12\nImage("../../resources/img/python/tableAPI/cell12_case1.png")\n') # In[ ]: # 13 (numbers as name of Array keys (2D Array parameter) row1 = {40:40, 1/40:1/40, 'c':'c'} row2 = {40:20, 1/40:1/20, 'c':'c c c', '[100, 200]':[100, 200, 300]} TableDisplay([row1, row2]) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 13\nImage("../../resources/img/python/tableAPI/cell13_case1.png")\n') # # Python API for Table Display # # In addition to APIs for creating and formatting BeakerX's interactive table widget, the Python runtime configures pandas to display tables with the interactive widget instead of static HTML. # In[ ]: # 14 import pandas as pd from beakerx import * df = pd.DataFrame({"runway": ["24", "36L"]}) TableDisplay(df) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 14\nImage("../../resources/img/python/tableAPI/cell14_case1.png")\n') # In[ ]: from beakerx import * import pandas as pd import numpy as np pd.DataFrame(data=np.zeros((5,5)), index=pd.Int64Index([0, 1, 2, 3, 4], dtype='int64')) # In[ ]: # 15 pd.read_csv('../../resources/data/pd_index.csv', index_col=0) # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 15\nImage("../../resources/img/python/tableAPI/cell15_case1.png")\n') # In[ ]: # 16 pd.read_csv('../../../doc/resources/data/interest-rates.csv') # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 16\nImage("../../resources/img/python/tableAPI/cell16_case1.png")\n') # In[ ]: # 17 table2 = TableDisplay(pd.read_csv('../../../doc/resources/data/interest-rates-small.csv')) table2.setAlignmentProviderForColumn('m3', TableDisplayAlignmentProvider.CENTER_ALIGNMENT) table2.setRendererForColumn("y10", TableDisplayCellRenderer.getDataBarsRenderer(False)) table2.setRendererForType(ColumnType.Double, TableDisplayCellRenderer.getDataBarsRenderer(True)) table2 # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 17\nImage("../../resources/img/python/tableAPI/cell17_case1.png")\n') # In[ ]: # 18 df3 = pd.read_csv('../../../doc/resources/data/interest-rates-small.csv') df3['time'] = df3['time'].str.slice(0,19).astype('datetime64[ns]') table3 = TableDisplay(df3) table3.setStringFormatForTimes(TimeUnit.DAYS) table3.setStringFormatForType(ColumnType.Double, TableDisplayStringFormat.getDecimalFormat(2,3)) table3.setStringFormatForColumn("m3", TableDisplayStringFormat.getDecimalFormat(0, 0)) table3 # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 18\nImage("../../resources/img/python/tableAPI/cell18_case1.png")\n') # In[ ]: # 19 table4 = TableDisplay(pd.read_csv('../../../doc/resources/data/interest-rates-small.csv')) #freeze a column table4.setColumnFrozen("y1", True) #freeze a column to the right table4.setColumnFrozenRight("y10", True) #hide a column table4.setColumnVisible("y30", False) table4 # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 19\nImage("../../resources/img/python/tableAPI/cell19_case1.png")\n') # In[ ]: # 20 table5 = TableDisplay(pd.read_csv('../../../doc/resources/data/interest-rates-small.csv')) #Columns in the list will be shown in the provided order. Columns not in the list will be hidden. table5.setColumnOrder(["m3", "y1", "y10", "time", "y2"]) table5 # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 20\nImage("../../resources/img/python/tableAPI/cell20_case1.png")\n') # In[ ]: # 21 colNames = ["m3","y30","time","y5","y7","spread"] row1 = [7.8981, 8.2586, "1990-01-30 19:00:00.000 -0500", 8.1195, 8.1962, 0.3086] row2 = [2.0021, 8.5037, "1990-02-27 19:00:00.000 -0500", 8.4247, 8.4758, 0.4711] row3 = [2.0021, 3.5037, "1990-05-27 19:00:00.000 -0500", 1.4247, 4.4758, 5.4711] table6 = TableDisplay(pd.DataFrame([row1, row2, row3], columns=colNames)) table6.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter("m3", TableDisplayCellHighlighter.FULL_ROW)) table6 # In[ ]: get_ipython().run_cell_magic('groovy', '', '// expected result of cell 21\nImage("../../resources/img/python/tableAPI/cell21_case1.png")\n') # In[ ]: