首页
学习
活动
专区
圈层
工具
发布

这种 “交互可视化” 效果不要太赞了(配有动态展示)

依照安装步骤安装ipywidgets后,就可以直接使用了。ipywidgets提供了供交互界面使用的组件,例如滑动条、复选框、按钮、文本框,等等。 ipywidgets上手很容易,理解交互函数即可。...交互函数能够基于传入的参数自动创建部件。例如,传入一个布尔值参数会自动生成对应的复选框;传入一个列表会自动生成下拉菜单。...从上图我们可以看到,ipywidgets使用起来很方便,只需将原Python函数和需要自动映射到部件的参数传给interact函数: food(食物):空列表,将被转换为文本框 nutrient(营养物质...将(min,max,step)元组传给interact函数后,能自动生成对应的滑动条。以不同的分辨率或复杂度查看动画时,这样一个简单的整数滑动条很有帮助。例如,模拟[康威生命游戏]: ?...结语 上面的例子仅仅使用了工具的基本功能。例如ipywidgets仅仅使用了interact函数和类型推断。ipywidgets其实还支持自定义部件和部件组合,详见官方文档。

4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【干货原创】介绍一个Python模块,Seaborn绘制的图表也能实现动态交互

    ipywidgets 首先我们通过pip命令来下载该模块 pip install ipywidgets 该模块中的interact函数可以和我们自定义的函数相结合,随着我们输入的不断变化,输出也会产生相应的不同结果...当然我们也可以将其当做是装饰器来使用,代码如下 @interact(x=10) def f(x): print(f"The square value is: {x**2}") output...上面的自定义函数中,当然我们可以自行设定横轴当中的最大值与最小值,以及每拖动一次x值的变化(和Python当中的range函数类似), interact(f, x=widgets.IntSlider(min...=-10, max=30, step=1, value=10)) output 而当输入框中的参数不止一个参数的时候,可以有不止一个的滑动条,代码如下 import ipywidgets as widgets...,将代码中的“x”甚至是“hue”作为是输入的参数,代码如下 ## 筛选出离散型变量的特征 categorical_columns = [column for column in df.columns

    83820

    交互组件ipywidgets系列(01):花式加载数据

    本系列将重点讲解如何在 Jupyter Notebook 上如何用最小的代码,快速为你的自动化代码加上实用的界面。 我们将从一个加载数据的场景开始我们的学习之旅!...先从简单的来,比如在一个文本框中输入文件名字与工作表名字,点击加载按钮即可运行你的代码: ---- 填入文件名字 首先,把我们的执行逻辑定义到一个函数中: 函数非常简单,只是把其中的文件路径和工作表名字提取作为参数...这是因为一开始我们的导入语句是 import ipywidgets as wg ,这是我们定义的别名 @wg.interact_manual() ,是手动交互的意思,这情况下,他会根据目标函数的各个参数的默认值类型...,判断分别应该使用哪种控件 比如,我们的函数的2个参数都是字符串类型,因此他会自动生成2个文本框 在所有交互控件的下方,会生成一个按钮 此时,我们往2个文本框输入相应的信息,点击最后的按钮即可加载数据:...---- 选择一个文件 刚刚说过,ipywidgets 的装饰器能自动根据参数默认值的类型生成适合的交互控件,这次,我们读取当前目录下的所有 excel 文件路径的列表,看看会有啥效果: 行1,2:使用

    2.6K30

    使用交互组件(ipywidgets)“盘活”Jupyter Notebook(上)

    首先导入: 1from IPython.display import display 然后在display()函数中传递小部件作为参数: 1slider = widgets.IntSlider() 2display...我们的事件处理程序btn_eventhandler将打印一条带有按钮标题的短消息——注意,处理程序的输入参数obj是按钮对象本身,它允许我们访问它的属性。...演示:按钮事件处理程序 下一节我们将很好地了解到,输出与按钮本身显示在同一个单元格中。所以,让我们继续看看如何为我们的笔记本增加更多的灵活性!...控制部件的输出 在本节中,我们将探索如何使用小部件来控制dataframe。...使用下拉列表筛选数据帧 到目前为止还不错,但是所有查询的输出都在这个非常相同的单元格中累积;也就是说,如果我们从下拉列表中选择一个新的年份,新的数据框将呈现在第一个单元格的下面,在同一个单元格上。

    14.9K61

    懂Excel轻松入门Python数据分析包pandas(29):轻松做出筛选控件

    本身是以行列表作为核心概念,比如说 Excel 中的透视表,在 pandas 中就有一一对应,本系列已经讲解过。...Excel 的操作便利性在于只需要鼠标点击就可以完成操作,这对于查看数据是非常方便。 难道我们用 Python 就不能做到吗?本文将结合一些工具,使得你的 pandas 处理过程变得灵活动态。...---- 小组件 我们将使用 ipywidgets 库,此工具最适合用在 Jupyter Notebook 上,假设你已经安装好 Jupyter Notebook ,打开你的 cmd,执行以下命令: pip...我们稍微加工一下这个过程,定义一个函数: 现在好一些,但是改变条件仍然需要修改代码 简单加上一个装饰器即可: 行1:@wg.interact 是一个装饰器,打到我们的自定义函数上 其中每个命名参数为自定义函数上的参数...x_df=wg.fixed(df) ,表示 x_df 参数使用变量 df,并且这个参数是不需要改变的。

    1.2K20

    Linux:进程替换

    加载器的理解: argv这个参数会被传递给ls,其实exec系列接口含义也是如此,在命令行参数中,有所的进程都是bash的子进程,所以exec其实就是一个代码级别的加载器,他可以做到将可执行程序的代码和数据导入到内存中...,然后再调用main函数的时候将argc参数传递给程序,其实就相当于是你在执行该程序之前,优先给你加载出来一个栈帧结构。...脚本语言不是脚本在跑,而是由解释器来解释执行 我们想要执行脚本文件的话,路径传的就不是脚本文件,而是脚本文件的解释器, bash+test.sh则是作为命令行参数。 ...(1)任何语言都有像exec这类的接口 (2)语言可以互相调用的原因是 无论是什么语言写的程序 在操作系统看来都是进程 1.5.3 将命令行参数和环境变量传递给另一个程序  环境变量是在子进程创建的时候就默认继承了...2、彻底替换环境变量——>execle、execve 就使用execle系列的接口,然后将myenv(自定义的)传进去  就相当于是覆盖!!

    1.3K10

    【愚公系列】《循序渐进Vue.js 3.x前端开发实践》059-Vue Router的路由传参

    Vue Router 作为 Vue.js 的官方路由管理器,提供了灵活的路由传参功能,使得开发者能够轻松地将数据从一个页面传递到另一个页面,增强了应用的交互性与用户体验。...本文将深入探讨 Vue Router 中的路由传参机制,包括动态路由参数和查询参数的使用。我们将详细讲解如何在路由中定义参数、如何在组件中获取这些参数,以及如何将参数传递给其他路由。...通过具体的代码示例,我们将展示如何在实际开发中灵活运用路由传参,从而实现更复杂的页面交互和数据展示。...如果组件内部需要的参数与路由本身并没有直接关系,我们也可以将 props 设置为对象,此时 props 设置的数据将原样传递给组件的外部属性。...命名视图中的属性传递:对每个命名视图单独设置 props。 使用对象传递静态属性:将静态数据传递给组件。 使用函数动态传递属性:根据路由参数动态生成传递给组件的属性。

    67110

    Python3.0科学计算学习之函数

    **kwargs(接收关键字传值) (2) 更改实参 实参的作用是为函数提供必要的输入数据,更改函数内部的参数值通常不会影响函数外部的实参值 例如1:对于所有不可变参数(字符串、数字和元组)更改函数内部的实参值通常不会影响函数外部的实参值...注意:可变默认参数:使用可变数据类型的参数作为默认参数时,如果更改函数内部的可变类型参数,则会产生副作用。...这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况,尾递归的实现方式是 :使函数本身返回的是函数本身。...,可以将函数作为参数传递,也可更改名称或者删除它们。...部分应用程序:这种通过固定(冻结)函数的一个函数或者多个参数来定义新函数的过程称为部分应用程序。

    1.9K20

    C++|Compiler|活动记录(栈帧)

    尽管看起来到头来参数还是要入内存,但是在执行过程中,参数的使用是通过寄存器进行的。...以frame pointer作为第一个参数(不一定是当前的栈帧,而是callee的上层)传递给callee作为static link,可以通过static link回溯上一层、上上层的栈帧,最终获得外部的变量...(隐式链表) 类似于对象第一个参数隐式传this指针,因此类的方法能够访问类的field,但是这个原理又大相径庭,这个其实是建立了一个栈帧链表。...如果儿子1调用儿子2,那么事实上儿子1是通过父亲访问到的儿子2,因此不能直接传儿子1的栈帧,而是先回溯到父亲的栈帧,再把父亲的栈帧指针作为第一个参数传递给儿子2....提升(Lambda Lifting) 将父函数中每一个被子函数(或者孙子、曾孙...)访问的变量作为额外的参数按引用传递给子函数。

    1.7K40

    C++打怪升级(二)- 引用详解

    做输出型参数,直接修改实参 对于某些参数传入的目的不只是为了本函数使用,更是为了在本函数调用结束后能够反映到外界(主调函数等),函数调用结束返回时又只能返回一个变量,一个解决办法是使用引用做输出型参数,...总结来说,函数传值返回,返回的是待返回变量的拷贝;而待返回变量如果在待返回的函数栈帧里就会作为局部变量被销毁,尽管本例中待返回变量n不在待销毁栈帧里,而是在静态区,生命周期一直到程序结束,在函数Count...所以这是一个错误的例子,引用作为返回值但不能这么使用。...传值、传引用效率比较 以值作为参数或者返回值类型,在传参和返回期间,函数不会直接传递实参或者将变量本身直 接返回,而是传递实参或者返回变量的一份临时的拷贝,因此用值作为参数或者返回值类型,效 率较低...- rb企图获得超过b本身的权限 //int& rb = b; //权限平移 - rrb获得读权限 const int& rrb = b; return 0; } ---- 作为函数参数

    56220

    使用深度学习的方法进行人脸解锁

    查找人脸的算法 一种将人脸嵌入向量空间的方法 比较已编码人脸的函数 人脸面孔查找和定位 首先,我们需要一种在图像中查找人脸的方法。我们可以使用一种称为MTCNN(多任务级联卷积网络)的端到端方法。...遵循PyTorch最佳做法,我使用ImageFolder加载数据集。我创建了MTCNN实例,并使用transform参数将其传递给数据集。 我的文件夹结构如下: ....我们可以使用在一个著名的人脸数据集(例如vgg_face2)上训练的模型,并使用分类头之前的最后一层的输出(潜在空间)作为编码器。 在这些数据集之一上训练的模型必须学习有关输入的重要特征。...余弦相似度将输出[-1,1]之间的值。在朴素的情况下,两个比较的向量相同,它们的相似度为1。因此,最接近1的相似度。 现在,我们可以在数据集中找到每对之间的所有距离。...我们将512维压缩为2,所以我们丢失了很多数据。 好的,我们有一种方法来找到脸,看看它们是否彼此相似,现在我们可以创建我们的脸解锁算法。

    1.2K20

    用交互组件(ipywidgets)“盘活”Jupyter Notebook(下)

    如果我们继续添加另一个下拉列表,我们将很快意识到数据帧只响应最近更改的下拉列表中的过滤器。我们需要做的是将两者联系在一起,这样它就可以在两个价值观(即年和目标)上发挥作用。...基于两个值筛选数据帧 下面是演示: ? 演示:基于两个值筛选数据帧 5、创建仪表盘 到目前为止,我们已经通过过滤和显示伦敦数据集的数据为仪表盘奠定了基础。我们将根据用户选择的值对数值着色。...过滤功能修改为: 添加新的num输入参数: 1def common_filtering(year, purpose, num): 2 通过调用三个数值列的colour_ge_value函数来应用样式:...第一个选项卡将承载数据帧,第二个选项卡承载图形。...回顾 我们看到了相当广泛的小部件在运行,但我们仍然只触及了皮毛-我们可以使用ipywidgets构建非常复杂和广泛的gui。

    3.3K30

    C语言底层揭秘:函数调用背后的“黑魔法”——超详细图解函数栈帧的创建与销毁

    在 C 语言编程中,函数调用、局部变量存储、参数传递等底层逻辑,都离不开 “函数栈帧” 的支撑。理解函数栈帧的工作机制,能帮我们彻底搞懂局部变量初始化、函数传参顺序、返回值传递等常见问题。...EBP/RBP下方 函数参数 调用者传递给被调用函数的参数 EBP/RBP上方 局部变量 函数内部定义的非静态变量 ESP/RSP上方 在C语言程序运行的底层,函数调用和局部变量的管理完全依赖于栈(...访问参数和变量: EBP/RBP 作为基准点,通过固定的偏移量来访问数据: 访问函数参数: 通常使用正偏移量,如 [EBP + 8]。...在栈帧中的角色 EBP/RBP 是访问函数数据的“定海神针”。无论 ESP/RSP 如何变化(因为可能存在临时变量的入栈/出栈),EBP/RBP 都保持不变,确保了对局部变量和参数的可靠访问。...4.4.3 调用 Add() 函数 ret = Add(a, b); //调用Add函数时的传参 //其实传参就是把参数push到栈帧空间中 00141850 mov eax,dword

    39910

    【落羽的落羽 C语言篇】指针·其之二

    如何规避野指针 三、assert(断言) 使用指南 四、传值调用和传址调用 1. 传值调用 2. 传址调用 一、const 使用指南 1. const修饰变量 众所周知,变量是可以修改的。...实参传递给形参时,形参会单独创建一份空间来接受实参的值,而对形参的修改不影响实参。那么在Swap1函数内部只是交换了x和y的值,不会影响到a,b的值。 这种把变量本身传递给函数的调用,叫做传值调用。...在main函数里将a和b的地址作为参数传递给交换函数,交换函数里通过地址参数找到a和b,进而完成交换: #include void Swap2(int* x , int* y) {...调用Swap2函数是将变量的地址传递给了函数,这就叫传址调用。传址调用,可以通过地址,让主函数和函数之间建立真正的联系,在函数内部可以修改主函数中的变量。...综上,函数只需要主函数的参数值来计算的话,使用传值调用足矣;如果函数内部要修改主函数中变量中的值的话,就需要使用传址调用。 欲知后事如何,且听下回分解~ 本篇完,感谢阅读!

    13310

    Python全网最全基础课程笔记(十二)——函数,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!

    函数的传参 在Python中,函数的参数传递是一个核心概念,它涉及到如何将数据从函数的调用者(或称为“外部”)传递到函数内部。这个过程涉及到两个关键概念:形参(形式参数)和实参(实际参数)。...形参:函数定义时括号内的变量名,用于接收外部传入的数据。 实参:调用函数时传递给函数的实际值。...可变位置参数(*args) 在Python中,可变位置参数(通常表示为*args)是一种允许你将不定数量的参数传递给函数的机制。这里的“可变”指的是传递给函数的参数数量不是固定的,而是由调用者决定的。...*args在函数定义中作为参数列表的最后一个元素出现,它接收一个元组,该元组包含了所有传递给函数但未被前面定义的参数名捕获的额外位置参数。...参数解包:在调用函数时,可以使用*操作符将列表、元组或其他可迭代对象解包为位置参数。这允许你将存储在容器中的数据作为单独的参数传递给函数。

    2.6K10

    再探Java内存分配

    百思不得其姐,他将这个问题抛给大家一起讨论。于是,有的人说传值,有的人说传引用;不管哪方都觉得自己的理解是正确无误的。...比如,在使用NIO时它可以使用Native 函数库直接分配堆外内存,然后通过存储在Java 堆里面的DirectByteBuffer对象作为这块内存的引用进行操作。...类似的操作,可避免了在Java 堆和Native 堆中来回复制数据,从而提高性能。 ---- Java调用方法时的参数传递机制 在调用Java方法传递参数的时候,到底是传值还是传引用呢?...:a="+a+" , b="+b); } } 我们在main方法中声明的两个变量number1=9527 , number2=1314;然后将这两个数作为参数传递给了方法swapData(int...在main( )中调用swapData( )传入参数时它的本质是:将实际参数值的副本(复制品)传入其它方法内而参数本身不会受到任何影响。

    82910

    OpenHarmony内核源码分析(汇编传参篇) | 如何传递复杂的参数

    汇编如何传复杂的参数?汇编基础篇 中很详细的介绍了一段具有代表性很经典的汇编代码,有循环,有判断,有运算,有多级函数调用。但有一个问题没有涉及,就是很复杂的参数如何处理?...bx lr @跳回调用函数两个函数对应两段汇编,干净利落,去除中间各项干扰,只有一个结构体reg,以下详细讲解如何传递它,以及它在栈中的数据变化是怎样的...看完main汇编能得到一个结论是 200个栈空间中除了存放了main函数本身的变量外 ,还存放了要传递给framePoint函数的部分参数值,存放了多少个?答案是 388/4 = 97个....,意思是从r1开始位置拷贝r2数量的数据到r0的位置,注意只拷贝了 388个,也就是 388/4 = 97个栈空间.剩余的4个通过寄存器传的参数.ldm代表从fp-408的位置将内存地址的值连续的给r0...main函数,如此 fp 和 lr 寄存器中保存的都是 main函数的信息,就可以安全着陆了.总结因为寄存器数量有限,所以只能通过这种方式来传递大的参数,想想也只能在main函数栈中保存大部分参数,同时又必须确保数据的连续性

    26610

    golang-笔记1

    指针变量就是存储地址的变量。 *p : 解引用、间接引用。 栈帧: 用来给函数运行提供内存空间。 取内存于 stack 上。 当函数调用时,产生栈帧。函数调用结束,释放栈帧。...(读) 指针的函数传参(传引用)。 传地址(引用):将形参的地址值作为函数参数传递。 传值(数据据):将实参的 值 拷贝一份给形参。...传引用: 在A栈帧内部,修改B栈帧中的变量值。 切片: 为什么用切片: 1. 数组的容量固定,不能自动拓展。 2. 值传递。 数组作为函数参数时,将整个数组值拷贝一份给形参。...【常用】 切片做函数参数 —— 传引用。(传地址) append:在切片末尾追加元素 append(切片对象, 待追加元素) 向切片增加元素时,切片的容量会自动增长。...map 做函数参数和返回值,传引用。

    87620
    领券