drawdata
"只需绘制一些数据,然后继续你的一天。"
这个小型Python库包含了允许你在Jupyter笔记本中绘制数据集的Jupyter小部件。这在教授机器学习算法时应该非常有用。
该项目在底层使用了anywidget,因此我们的工具应该可以在Jupyter、VSCode和Colab中使用。这也意味着你可以获得一个能够与ipywidgets原生交互的proper小部件。这里有一个示例,展示了更新绘图如何触发新的scikit-learn模型训练(代码)。
你可以在笔记本中非常创造性地使用它,所以请随意尝试!
安装
通过pip进行安装。
python -m pip install drawdata
要读取数据,polars
很有用,但这个库也支持pandas
:
python -m pip install pandas polars
使用方法
你可以加载散点图小部件来立即开始绘图。
from drawdata import ScatterWidget
widget = ScatterWidget()
widget
如果你想使用刚刚绘制的数据集,可以这样做:
# 获取绘制的数据作为字典列表
widget.data
# 获取绘制的数据作为数据框
widget.data_as_pandas
widget.data_as_polars
如果你急于用你绘制的数据做scikit-learn相关的工作,你可能会更喜欢这个属性:
X, y = widget.data_as_X_y
这个属性的假设是,如果你使用了多种颜色,那么你对分类感兴趣;如果你只绘制了一种颜色,那么你对回归感兴趣。在回归的情况下,y
将指的是y轴。
致谢
这个项目最初是我在calmcode labs的工作的一部分,但我的雇主probabl非常支持,允许我在工作时间内进行这个项目。这真的很酷,我想确保我对此表示认可。
旧功能
我们小部件的原始实现会使用iframe加载网站,以便能够从Jupyter笔记本中绘图。这可以工作,但需要更多的手动操作,只能通过剪贴板功能与pandas
一起使用,并且需要互联网连接。以下是该小部件的样子:
它将被保留,但这个库的前进方向是在anywidget的基础上构建。
旧功能使用方法
当你从jupyter运行这个时,你应该加载一个iframe。
from drawdata import draw_scatter
draw_scatter()
完成绘图后,你可以将数据复制到剪贴板。之后,你可以使用pandas从剪贴板读取,将你绘制的数据转换为数据框。
import pandas as pd
pd.read_clipboard(sep=",")