我有一個非常複雜的Jupyter UI小部件的磚筆記本dataframe
1。將修改一些Jupyter嗎小部件回調
2。需要顯示給用戶更新和修改
3所示。大,需要支持嗎垂直滾動
因為回調函數不能直接訪問單元輸出,我不得不使用一個小部件(ipywidgets。輸出或顯示dataframe ipywidgets.HTML)。
這是我試過(最後成功第四嚐試/解決方案):
#設置進口ipywidgets部件進口熊貓pd pd.set_option(”顯示。max_rows ", 1000年)df = pd。DataFrame([[1, 2]] * 50) # 1——使用小部件。輸出與磚dataframe格式化a1 =小部件。輸出(布局={“滾動”:“汽車”,“高”:“300 px”})與a1:顯示(df)顯示結果(a1) # # # # # # # # # # # # <磚輸出(不支持輸出部件)> # # # # # # # # # # # # # # # # # 2——使用小部件。從IPython熊貓dataframe格式化輸出。顯示導入HTML a2 =小部件。輸出(布局= {" scrollY”:“汽車”,“高”:“300 px”}) a2:顯示(HTML (df.to_html()))顯示(a2) # # # # # # # # # # # # Non-Databricks格式化結果熊貓DataFrame但不限製高度#沒有滾動的# # # # # # # # # # # # # # # # # 3 -嚐試使用小部件。從IPython與熊貓dataframe HTML格式。顯示導入HTML a3 =小部件。HTML(布局={“滾動”:“汽車”,“高”:“100 px”}) a3。值= df.to_html()顯示(a3) # # # # # # # # # # # # Non-Databricks格式化結果熊貓DataFrame並限製高度,#但是沒有滾動,所以DataFrame截幾行。# # # # # # # # # # # # # # # # # 4 -嚐試使用小部件。與熊貓dataframe輸出格式和#包裝在一個小部件。VBox a4 = widgets.Output()與a4:顯示(HTML (df.to_html()))顯示(小部件。VBox(children=[a4], layout={"height": "300px", "scroll": "auto"})) ##### RESULT ###### # SUCCESS!! # Non-Databricks formatted pandas DataFrame with scrolling enabled ################
顯然,使用小部件。VBox包裝部件。輸出的方法使用熊貓to_html而不是Databrick to_html函數並不理想。有更好的方法,使滾動DataFrame磚筆記本?或者這是最好的解決方法,直到“<磚輸出(不支持輸出部件)>”是固定的嗎?
嗨@Yushi Homma
基於提供的代碼,似乎你已經探索了多個選項,顯示一個可滾動DataFrame ipywidgets。輸出部件。你們發現的解決方案使用小部件。輸出裹在小部件。與熊貓VBox to_html格式實際上是一個可行的解決方案。
然而,如果你是專門尋找解決方案兼容磚筆記本和不需要變通方案,值得注意的是,“<磚輸出(不支持輸出部件)>”消息表明Databricks-specific輸出ipywidgets.Output並不直接支持。
在這種情況下,直到磚解決這個限製,可用的解決方法你發現可能是最好的選擇。
或者,您可以考慮使用其他可視化庫或互動DataFrame部件兼容磚筆記本。
例如,您可以探索圖書館如Sparklyr或考拉提供交互式DataFrame磚內可視化。這些庫是專門為處理大型數據集,可能為可滾動DataFrames提供內置支持。