python笔记:qgrid
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python笔记:qgrid相关的知识,希望对你有一定的参考价值。
在Jupyter Notebook中像在Excel一样操作pandas的DataFrames,如sort/filter,并轻松把操作后的数据用于后续分析。
0 安装
pip install qgrid
jupyter nbextension enable --py --sys-prefix qgrid
1 基本使用方法
1.1 数据
import numpy as np
import pandas as pd
lst=np.arange(100).reshape(10,10)
df=pd.DataFrame(lst)
df
'''
0 1 2 3 4 5 6 7 8 9
0 0 1 2 3 4 5 6 7 8 9
1 10 11 12 13 14 15 16 17 18 19
2 20 21 22 23 24 25 26 27 28 29
3 30 31 32 33 34 35 36 37 38 39
4 40 41 42 43 44 45 46 47 48 49
5 50 51 52 53 54 55 56 57 58 59
6 60 61 62 63 64 65 66 67 68 69
7 70 71 72 73 74 75 76 77 78 79
8 80 81 82 83 84 85 86 87 88 89
9 90 91 92 93 94 95 96 97 98 99
'''
1.2 Show_grid
qgrid.show_grid(
data_frame,
show_toolbar=None,
precision=None,
grid_options=None,
column_options=None,
column_definitions=None,
row_edit_callback=None)
1.2.1 参数说明
grid_options | 创建SlickGrid时需要的选项 |
precision | int 浮点数值要显示的精度位数 |
show_toolbar | 是否显示带有添加/删除行选项的工具栏(添加是复制最后一行) |
1.2.2 使用
import qgrid
qgrid_df= qgrid.show_grid(df, show_toolbar=True)
qgrid_df
2 get_changed_df
比如我们remove了一个row(row 8),然后又add了两个row
那么怎么把这个qgrid存下来呢?
qgrid_df_chose = qgrid_df.get_changed_df()
qgrid_df_chose
3 get_selected_df
长按ctrl选择多行
qgrid_df.get_selected_df()
Qgrid API Documentation — qgrid 1.0 documentation
qgrid 的 jupyter labextension 安装在可选依赖项上失败(Windows)
【中文标题】qgrid 的 jupyter labextension 安装在可选依赖项上失败(Windows)【英文标题】:jupyter labextension install of qgrid failed on optional dependency (windows) 【发布时间】:2021-06-10 08:10:52 【问题描述】:当我尝试jupyter labextension install qgrid
时失败,日志文件中的核心错误如下:
$ webpack --config webpack.prod.minimize.config.js
[webpack-cli] ModuleNotFoundError: Module not found: Error: Can't resolve 'base/js/dialog'
这个错误发生的上下文太复杂了,有点搞笑:
Windows 10 >> Conda 环境 >> jupyter labextension install >> npm >> node yarn.js run >> webpack
截至两天前,从 conda 环境开始的所有内容都是新安装的。 (jupyter 实验室版本 3.0.9,节点版本 v14.16.0)
这个错误特别有趣的是,代码中对base/js/dialog
的唯一引用是来自qgrid.widget.js
的这条语句:
try
dialog = require('base/js/dialog');
catch (e)
console.warn("Qgrid was unable to load base/js/dialog. " +
"Full screen button won't be available");
现在我不知道webpack
是如何工作的,但似乎可选负载以某种方式导致了硬故障。我正在寻找有关如何解决此错误的任何见解。
(附加说明:我也尝试了jupyter lab build
,以防万一它会神奇地修复问题,但它导致了同样的错误。)
【问题讨论】:
【参考方案1】:这很可能是由于 qgrid 未更新以与 JypyterLab 3 一起使用造成的。https://github.com/quantopian/qgrid 有几个相关问题,例如#351.
不幸的是,这个扩展似乎没有定期更新。如果您不想留在 J2 上,可以查看 perspective 或 ipyaggrid。我在 JL3 上都用过。
【讨论】:
以上是关于python笔记:qgrid的主要内容,如果未能解决你的问题,请参考以下文章