首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我想在jupyter笔记本上做两个下拉菜单和一个滑动条。

我想在jupyter笔记本上做两个下拉菜单和一个滑动条。
EN

Stack Overflow用户
提问于 2020-09-21 22:14:35
回答 1查看 252关注 0票数 1

我有一个数据框架,其中包含商品的类别item_id、全天的销售额和每个产品的总销售额(axis=1)。

接下来的4个数据帧根据类别有2列item_id和sales,它们的名称是household_sort、hobbies_sort、foods_sort和sales_total,其中包括每个产品的总销售额。

我想创建3个相关的小工具(2个下拉菜单和1个滑动条)在jupyter notebook.First我想要一个关于某些类别的产品(例如食品销售)的下拉菜单,这是在字典猫中定义的代码below.After的幻灯条,其中用户将指定从第一个下拉menu.Finally下拉菜单类别的总销售额的限制,根据前面的项目id我尝试此代码,但我不能改变第二个下拉菜单的值。

代码语言:javascript
运行
AI代码解释
复制
from ipywidgets import interact, Dropdown
import ipywidgets as wg
range_slider=wg.IntRangeSlider(value=[1000,10000],min=sales_total['total'].min() - 5,max=sales_total['total'].max() + 5,description='Test:',readout_format='d')

cat={'HOBBIES_SALES':hobbies_sort[(hobbies_sort['total']>= range_slider.value[0]) & (hobbies_sort['total']<=range_slider.value[1])]['item_id'],
     'HOUSEHOLD_SALES':household_sort[(household_sort['total']>= range_slider.value[0]) & (household_sort['total']<=range_slider.value[1])]['item_id'],
     'FOODS_SALES':foods_sort[(foods_sort['total']>= range_slider.value[0]) & (foods_sort['total']<=range_slider.value[1])]['item_id'],
     'TOTAL_SALES':sales_total[(sales_total['total']>=range_slider.value[0]) & (sales_total['total']<=range_slider.value[1])]['item_id']}
catW=Dropdown(options=cat.keys())
idW=Dropdown(options=cat[catW.value])

    
display(catW,range_slider,idW)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-25 20:16:53

问题

这两个下拉列表并没有本质上的联系。由于是在服务器端填充值,因此可以使用observe和所选的事件处理程序将这两个小部件链接起来。

解决方案

添加一个事件处理程序(reference),如下所示,它根据第一个下拉列表中选择的类别更新第二个下拉列表中的可用选项。您可以根据需要添加任意数量的事件,并在处理程序中执行任何计算。这在Jupyter Notebook v5.7.3的Python 3中进行了测试

代码语言:javascript
运行
AI代码解释
复制
from ipywidgets import interact, Dropdown
import ipywidgets as wg
range_slider=wg.IntRangeSlider(value=[1000,10000],min=sales_total['total'].min() - 5,max=sales_total['total'].max() + 5,description='Test:',readout_format='d')

cat={'HOBBIES_SALES':lambda : hobbies_sort[(hobbies_sort['total']>= range_slider.value[0]) & (hobbies_sort['total']<=range_slider.value[1])]['item_id'],
     'HOUSEHOLD_SALES':lambda : household_sort[(household_sort['total']>= range_slider.value[0]) & (household_sort['total']<=range_slider.value[1])]['item_id'],
     'FOODS_SALES':lambda : foods_sort[(foods_sort['total']>= range_slider.value[0]) & (foods_sort['total']<=range_slider.value[1])]['item_id'],
     'TOTAL_SALES':lambda : sales_total[(sales_total['total']>=range_slider.value[0]) & (sales_total['total']<=range_slider.value[1])]['item_id']}
catW=Dropdown(options=cat.keys())
idW=Dropdown(options=cat[catW.value]())

# Creating event handler
def ddl_event_handler(event):
    idW.options=cat[event['new']]() #updating the options to the selected value

# Add an observer
catW.observe(ddl_event_handler,names="value")
#optionally specify a `display_id` to update the same area
display(catW,range_slider,idW,display_id="options_area")

参考资料和参考资料

链接小部件- https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20Events.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64000632

复制
相关文章
用Jupyter笔记本做Jaeger数据分析
在之前的博客文章,“用Jaeger做数据分析|跟踪告诉我们更多!”,我们已经介绍了我们的数据科学计划和平台。最终目标是在Jaeger项目中开发基于AI/ML的新功能,这将为我们的应用提供新的见解。这种类型的功能也称为AI操作(AI operations,AIOps)。
CNCF
2020/03/22
1.2K0
javascript下拉菜单代码(用jquery做下拉菜单)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126047.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/01
11.6K0
javascript下拉菜单代码(用jquery做下拉菜单)
使用Jekyll显示Jupyter笔记本
Jekyll是一个用Ruby编写的静态站点生成器,支持博客并与Github页面整合。因为Github只负责托管,这种设置使数据分析共享和可视化变得简单。Jekyll提供了各种主题和插件,因此用户无需担心Web开发。
eru
2018/09/13
4K0
使用Jekyll显示Jupyter笔记本
如何在Debian 9上使用Python 3设置Jupyter笔记本
Jupyter Notebook为交互式计算提供了一个命令shell作为Web应用程序。该工具可以与多种语言一起使用,包括Python,Julia,R,Haskell和Ruby。它通常用于处理数据,统计建模和机器学习。
葡萄
2018/11/15
2.8K0
简单的滑动条
今天要做个滑动条 如图: 用jqueryUI实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <tit
deepcc
2018/05/16
9880
图像处理笔记(5)---- OpenCV 用滑动条做调色板
创建一个画板,可以自选各种颜色来绘制各种图形。 import numpy as np import cv2 as cv def nothing(x): pass drawing = False #如果按下鼠标,则为真 mode = True #如果为真,绘制矩形。按m键可以切换到曲线 ix,iy = -1,-1 #鼠标回调函数 def draw_circle(event, x, y, flags, param): r = cv.getTrackbarPos('R','image')
小火柴棒
2020/09/19
4770
番外篇: 滑动条
首先我们需要创建一个滑动条,如cv2.createTrackbar('R','image',0,255,call_back),其中
CodecWang
2021/12/07
7700
番外篇: 滑动条
html中下拉菜单(html做下拉菜单栏)
使用html5或者jQuery如何实现文本框下拉效果,如下图 CSS布局HTML小编今天和大家分享大神详解最好有可以使用HTML5 list 属性。list 属性需要应用到 input 框上,然后内容写一个自定义的 id 然后在任意位置放一对 datalist 标签,并给 datalist 框一个 id,和 list 属性指向的 id 一致即可。 在 datalist 标签下放列表项。
全栈程序员站长
2022/08/02
11.6K0
html中下拉菜单(html做下拉菜单栏)
交互式笔记本 —— Jupyter Notebook
最近看了个视频,讲的什么先不细说,重点是他用的文档很高级,代码和文本,图片混排,代码可以直接执行。如下图:
崔哥
2022/05/24
4370
交互式笔记本 —— Jupyter Notebook
如何在远程服务器上运行Jupyter Notebooks?
Jupyter Notebook是许多数据科学家工具箱中的一个主要工具。作为一个工具,Jupyter Notebook可以通过交互方式简化数据分析、模型建模和实验,从而缩短从编码到查看结果的反馈循环,从而提高工作效率。
AiTechYun
2019/07/12
4K0
如何在远程服务器上运行Jupyter Notebooks?
Jupyter Notebooks 入门
自从有了纸莎草纸以来,出版人们一直在努力以吸引读者的方式来格式化数据。尤其是在数学、科学、和编程领域,设计良好的图表、插图和方程式可以成为帮助人们理解技术信息的关键。
用户8639654
2021/10/15
6060
这种 “交互可视化” 效果不要太赞了(配有动态展示)
本文介绍了如何在Jupyter Notebook中创建交互内容。所谓内容,主要指可视化内容。不过我们很快就会看到,这里的可视化内容不仅包括通常的图表,还包括有助于探索数据的交互界面和动画。
Python数据科学
2018/12/12
3.5K0
这种 “交互可视化” 效果不要太赞了(配有动态展示)
入门 | 始于Jupyter Notebooks:一份全面的初学者实用指南
作者:PRANAV DAR 机器之心编译 参与:Panda Jupyter Notebooks 是数据科学/机器学习社区内一款非常流行的工具。Analytics Vidhya 的 Pranav Dar 近日发表了一篇上手使用 Jupyter Notebooks 的指南,从安装到基本功能进行了简洁清晰的介绍。 引言 应该使用哪个 IDE/环境/工具?这是人们在做数据科学项目时最常问的问题之一。可以想到,我们不乏可用的选择——从 R Studio 或 PyCharm 等语言特定的 IDE 到 Sublime
机器之心
2018/06/12
2K0
Android:RecyclerView横向滑动+自定义滑动条
网上找了好几篇RecyclerView,终于结合了一下找到能用的,特此记录一下,原理不作细究
zstar
2022/06/14
2.2K0
Android:RecyclerView横向滑动+自定义滑动条
Jupyter AI, 这个插件让 Jupyter Lab 起飞了
要安装jupyter_ai,则需要安装 Python 3.8 至 3.10 和 JupyterLab 3。可以jupyter_ai使用 conda 和 pip 进行安装。
数据STUDIO
2023/09/04
3.1K0
Jupyter AI, 这个插件让 Jupyter Lab 起飞了
独家 | 几个Jupyter笔记本的使用技巧
作者:Zolzaya Luvsandorj翻译:陈之炎校对:赵茹萱 本文约2400字,建议阅读5分钟本文为你介绍助力工作流文档化的几个实用技巧。
数据派THU
2021/12/31
1.5K0
独家 | 几个Jupyter笔记本的使用技巧
Qt自绘系列-滑动条
1. 继承QWidget类并重载paintEvent、mousePressEvent和mouseMoveEvent函数。在mousePressEvent和mouseMoveEvent函数中,我们处理鼠标点击和滑动事件。当鼠标按下或鼠标移动时,我们也根据鼠标位置计算出对应的值,并设置为当前值,与此同时调用update请求界面更新。
Qt君
2023/09/18
5850
Qt自绘系列-滑动条
Netflix开源Polynote:对标Jupyter,一个笔记本运行多种语言
谈到数据科学领域的开发工具,Jupyter 无疑是非常知名的一种。它具有灵活高效的特点,非常适合进行开发、调试、分享和教学。近日,Netflix(奈飞)居然也玩起了跨界,他们开源了一个名为 Polynote 的程序。类似于 Jupyter,Polynote 可以进行开发工作,但是能够支持包括 Python 在内的多种编程语言。
机器之心
2019/11/12
1.3K0
Netflix开源Polynote:对标Jupyter,一个笔记本运行多种语言
点击加载更多

相似问题

我想在MySQL上做的事

13

jupyter笔记本下拉菜单不工作

44

我想在Django做两个queryset搜索

20

如何在jupyter笔记本上制作嵌套的tqdm条

13

我正在jupyter笔记本上做python的工作。我已经编写了for循环代码。我搞错了

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档