通过集成数据表js,将jupyter笔记本扩展到levarage pandas数据帧。
jupyter-datatables的Python项目详细描述
jupyter数据表
通过集成数据表js,将jupyter笔记本扩展到levarage pandas数据帧。
关于
数据科学家和事实上许多开发人员每天都与pd.DataFrame
一起工作,解释数据以进行处理。在我典型的工作流程中。常见的工作流程是显示数据帧,查看数据模式,然后生成多个图,检查数据的分布情况,以便有一个更清晰的图片,或者在表中搜索一些数据等等。
如果这些分布图是标准数据框架的一部分,并且我们能够以最小的工作量快速搜索表,那会怎么样?如果它是默认的表示呢?
jupyter数据表使用jupyter-require来绘制表。
安装
pip install jupyter-datatables
并启用所需的扩展名
jupyter nbextension install --sys-prefix --py jupyter_require
jupyter nbextension enable jupyter-require/extension
用法
importnumpyasnpimportpandasaspdfromjupyter_datatablesimportinit_datatables_modeinit_datatables_mode()
就这样,默认的pandas表示现在将使用jupyter数据表!
df=pd.DataFrame(np.abs(np.random.randn(50,5)),columns=list(string.ascii_uppercase[:5]))
在大多数情况下,您不需要太担心数据的大小。jupyter datatables根据置信区间(默认情况下为0.95
)和误差容限计算所需的样本大小,并将其设置为最高的“smart”值。
例如,对于包含100,000
样本的数据,给定0.975
置信区间和0.02
误差范围,jupyter数据表将计算3044
样本是必需的,并将其舍入到4000
。
附加说明:
Sample size: 4,000 out of 100,000
我们还可以轻松地处理宽桌子。
df=pd.DataFrame(np.abs(np.random.randn(50,20)),columns=list(string.ascii_uppercase[:20]))
根据0.3.0,支持交互式工具提示:
还支持自定义索引,包括Date
类型:
dft=pd.DataFrame({'A':np.random.rand(5),'B':[1,1,3,2,1],'C':'This is a very long sentence that should automatically be trimmed','D':[pd.Timestamp('20010101'),pd.Timestamp('20010102'),pd.Timestamp('20010103'),pd.Timestamp('20010104'),pd.Timestamp('20010105')],'E':pd.Series([1.0]*5).astype('float32'),'F':[False,True,False,False,True],})dft.D=dft.D.apply(pd.to_datetime)dft.set_index('D',inplace=True)
当前状态和未来计划:
查看我们跟踪问题和jupyter工具的todo的Project Board!
Author: Marek Cermak macermak@redhat.com, @AICoE