关于jupyter-notebook:快为你的Jupyter添加这7个扩展效率upup-⛵

本文介绍了7个超实用的Jupyter Notebook扩大插件,帮忙你减速开发与利用:Voilà、nbdime、RISE、Bokeh、nbgrader、Jupytext、jupyterlab-git。 作者:韩信子@ShowMeAI Python3◉技能晋升系列:https://www.showmeai.tech/tutorials/56 本文地址:https://www.showmeai.tech/article-detail/341 申明:版权所有,转载请分割平台与作者并注明出处 珍藏ShowMeAI查看更多精彩内容 兵欲善其事,必先利其器。对于数据科学家和数据开发工程师们来说,工具也是十分重要的,领有好的工具会大大减速开发效率,并更快更准实现工作。 在数据迷信畛域咱们常常会应用 Jupyter Notebook(一个用于创立和共享计算文档的开源 Web 应用程序)来进行数据操作和交互式数据摸索,这个工具十分棒的中央在于,它还反对十分多的拓展性能。 这些能够增加的拓展插件,就像瑞士军刀的性能一样,能够很不便反对很多性能,在本篇内容汇总,ShowMeAI 筛选了 7 个最实用的扩大插件,置信它们也一样能够减速你的开发利用。 对于Python开发环境的装置和设置,Jupyter Notebook 的利用常识,欢送查看 ShowMeAI 的文章 图解 Python 编程 | 装置与环境配置 Voilà:将 Jupyter Notebook 变成独立的 Web 应用程序Voilà 是一个十分有用的 Jupyter 扩大,它将应用交互式小部件出现实时 Jupyter Notebook,将它变成独立的 Web 应用程序。 Voilà:将 Jupyter Notebook 变成独立的 Web 应用程序 nbdime:Jupyter 差别比照与合并Jupyter Notebook 做版本控制有时可能很艰难,nbdime 是一个针对这个场景的扩大,它提供 Jupyter 笔记本的『内容』差别和合并性能。配合上可视化比照和出现,能够帮你疾速辨别和合并 Notebook。 nbdime:Jupyter 差别比照与合并 RISE:将 Jupyter Notebooks 变成幻灯片RISE 是一个很乏味的 Jupyter 扩大,借助它咱们能够疾速将 Jupyter Notebooks 转换为幻灯片,如上图所示,而且它构建的幻灯片是基于 js 的,无需其余依赖。 ...

November 29, 2022 · 1 min · jiezi

关于jupyter-notebook:如何基于Jupyter-notebook搭建Spark集群开发环境

摘要:本文介绍如何基于Jupyter notebook搭建Spark集群开发环境。本文分享自华为云社区《基于Jupyter Notebook 搭建Spark集群开发环境》,作者:apr鹏鹏。 一、概念介绍:1、Sparkmagic:它是一个在Jupyter Notebook中的通过Livy服务器 Spark REST与近程Spark群集交互工作工具。Sparkmagic我的项目包含一组以多种语言交互运行Spark代码的框架和一些内核,能够应用这些内核将Jupyter Notebook中的代码转换在Spark环境运行。 2、Livy:它是一个基于Spark的开源REST服务,它可能通过REST的形式将代码片段或是序列化的二进制代码提交到Spark集群中去执行。它提供了以下这些基本功能:提交Scala、Python或是R代码片段到远端的Spark集群上执行,提交Java、Scala、Python所编写的Spark作业到远端的Spark集群上执行和提交批处理利用在集群中运行 二、根本框架为下图所示: 三、筹备工作:具备提供Saprk集群,本人能够搭建或者间接应用华为云上服务,如MRS,并且在集群上装置Spark客户端。同节点(能够是docker容器或者虚拟机)装置Jupyter Notebook和Livy,安装包的门路为:https://livy.incubator.apache... 四、配置并启动Livy:批改livy.conf 参考:https://enterprise-docs.anaco...增加如下配置: livy.spark.master = yarnlivy.spark.deploy-mode = clusterlivy.impersonation.enabled = falselivy.server.csrf-protection.enabled = falselivy.server.launch.kerberos.keytab=/opt/workspace/keytabs/user.keytablivy.server.launch.kerberos.principal=minerlivy.superusers=miner批改livy-env.sh, 配置SPARK_HOME、HADOOP_CONF_DIR等环境变量 export JAVA_HOME=/opt/Bigdata/client/JDK/jdkexport HADOOP_CONF_DIR=/opt/Bigdata/client/HDFS/hadoop/etc/hadoopexport SPARK_HOME=/opt/Bigdata/client/Spark2x/sparkexport SPARK_CONF_DIR=/opt/Bigdata/client/Spark2x/spark/confexport LIVY_LOG_DIR=/opt/workspace/apache-livy-0.7.0-incubating-bin/logsexport LIVY_PID_DIR=/opt/workspace/apache-livy-0.7.0-incubating-bin/pidsexport LIVY_SERVER_JAVA_OPTS="-Djava.security.krb5.conf=/opt/Bigdata/client/KrbClient/kerberos/var/krb5kdc/krb5.conf -Dzookeeper.server.principal=zookeeper/hadoop.hadoop.com -Djava.security.auth.login.config=/opt/Bigdata/client/HDFS/hadoop/etc/hadoop/jaas.conf -Xmx128m"启动Livy: ./bin/livy-server start 五、装置Jupyter Notebook和sparkmagicJupyter Notebook是一个开源并且应用很宽泛我的项目,装置流程不在此赘述 sparkmagic能够了解为在Jupyter Notebook中的一种kernel,间接pip install sparkmagic。留神装置前零碎必须具备gcc python-dev libkrb5-dev工具,如果没有,apt-get install或者yum install装置。装置完当前会生成$HOME/.sparkmagic/config.json文件,此文件为sparkmagic的要害配置文件,兼容spark的配置。要害配置如图所示 其中url为Livy服务的ip和端口,反对http和https两种协定 六、增加sparkmagic kernelPYTHON3_KERNEL_DIR="$(jupyter kernelspec list | grep -w "python3" | awk '{print $2}')"KERNELS_FOLDER="$(dirname "${PYTHON3_KERNEL_DIR}")"SITE_PACKAGES="$(pip show sparkmagic|grep -w "Location" | awk '{print $2}')"cp -r ${SITE_PACKAGES}/sparkmagic/kernels/pysparkkernel ${KERNELS_FOLDER} ...

October 12, 2021 · 1 min · jiezi

关于jupyter-notebook:使用Jupyter-Notebooks使用Jupytext和Papermill自动生成报告

应用Jupyter Notebooks(应用Jupytext和Papermill)主动生成报告本文源码下载:笔记本来形容特定年份的世界人口和国内生产总值。应用简略:只需year在第一个单元格中更改变量,而后从新运行,即可取得所选年份的图表。但这须要手动干涉。如果能够主动执行更新并为每个可能的year参数值生成报告,将会更加不便(更一般而言,笔记本计算机不仅能够基于一些用户提供的参数,而且还能够通过与参数的连贯来更新其后果。数据库等)。 版本控制在业余环境中,笔记本电脑是由数据科学家设计的,然而在生产环境中运行笔记本电脑的工作可能会由其余团队来解决。因而,一般而言,人们必须共享笔记本。最好通过版本控制系统来实现。 Jupyter笔记本因其版本控制的难度而闻名。让咱们思考下面的笔记本,文件大小为3 MB,其中大部分由嵌入式Plotly库奉献。如果咱们删除第二个代码单元的输入,笔记本将小于80 KB。删除所有输入后,大小仅为1.75 KB。这表明它的多少内容与纯代码无关!如果咱们不留神的话,笔记本中的代码更改将失落大量的二进制内容。为了取得有意义的差别,咱们应用Jupytext(免责申明:我是Jupytext的作者)。Jupytext能够应用pip或装置conda。重新启动笔记本服务器后,Jupyter中将呈现一个Jupytext菜单: 咱们单击将笔记本与Markdown配对,保留笔记本...,而后取得笔记本的两种示意模式:(world_fact.ipynb 具备输出和输入单元格)和 world_fact.md(仅具备输出单元格)。Jupytext将笔记本示意为Markdown文件与所有次要的Markdown编辑器和查看器兼容,包含GitHub和VS Code。Markdown版本例如由GitHub出现为: 如您所见,Markdown文件不蕴含任何输入。实际上,因为咱们只须要共享笔记本代码,因而咱们不心愿在此阶段应用它。Markdown文件还具备十分清晰的差别历史记录,这使笔记本的版本控制变得简略。 该world_facts.md文件由Jupyter当您保留在笔记本自动更新。反之亦然!如果world_facts.md应用文本编辑器进行批改,或者通过从版本控制系统中提取最新的内容进行批改,则在浏览器中刷新笔记本时,更改将显示在Jupyter中。 在咱们的版本控制系统中,咱们只须要跟踪Markdown文件(甚至能够显式疏忽所有.ipynb文件)。显然,执行笔记本的团队须要从新生成world_fact.ipynb文档。为此,他们在命令行中应用Jupytext: $ jupytext world_facts.md --to ipynb[jupytext] Reading world_facts.md[jupytext] Writing world_facts.ipynb当初,咱们正在正确地对笔记本进行版本控制。差别历史更加清晰。例如,查看咱们的报告中减少的国内生产总值的样子: Jupyter笔记本作为脚本?作为Markdown示意的代替办法,咱们能够 world_facts.py 应用Jupytext将笔记本与脚本配对。如果您的笔记本中蕴含的代码多于文本,则应尝试一下。这通常是迈向残缺而高效的长笔记本重构的第一步,一旦笔记本被示意为脚本,您就能够提取任何简单的代码,并应用IDE中的重构工具将其移至(通过单元测试的)库中。 JupyterLab,JupyterHub,Binder,Nteract,Colab和Cloud笔记本?您是否应用JupyterLab而不是Jupyter Notebook?不必放心:以上办法在这种状况下也实用。您只须要为JupyterLab应用Jupytext扩展名,而不是应用Jupytext菜单。如果您想晓得,Jupytext也能够在JupyterHub和Binder中应用。如果您应用其余笔记本编辑器,例如Nteract桌面,CoCalc,Google Colab或其余云笔记本编辑器,则可能无奈应用Jupytext作为编辑器中的插件。在这种状况下,您只需在命令行中应用Jupytext。闭上你的笔记本电脑和注入的配对信息到world_facts.ipynb 与 $ jupytext --set-formats ipynb,md world_facts.ipynb而后放弃两个示意与 $ jupytext --sync world_facts.ipynb笔记本参数Papermill是用于执行带参数笔记本的参考库。造纸厂须要晓得哪个单元格蕴含笔记本参数。只需parameter应用Jupyter Notebook中的单元格工具栏在该单元格中增加标签即可实现此操作: 在JupyterLab中,您能够应用celltags扩展名。并且,如果您违心,也能够间接world_facts.md在此处编辑并增加标签: year = 2000主动执行当初,咱们领有在生产服务器上执行笔记本所需的所有信息。 生产环境为了执行笔记本,咱们须要晓得它应该在哪个环境中运行。在此示例中,当咱们应用Python笔记本工作时,咱们将其依赖关系列在requirements.txt文件中,这是Python我的项目的规范。 为简略起见,咱们还将笔记本工具蕴含在同一环境中,即增加jupytext和增加papermill到同一requirements.txt文件中。严格来说,这些工具能够在另一个Python环境中装置和执行。 应用以下任一办法创立相应的Python环境 $ conda create -n run_notebook --file requirements.txt -y或者 $ pip install -r requirements.txt(如果在虚拟环境中)。请留神,该requirements.txt文件只是指定执行环境的一种形式。该重复性执行环境标准的粘结剂队伍为主题的最残缺的参考资料之一。 继续集成低劣作法是测试对笔记本计算机或其要求的每个新奉献。为此,您能够应用例如Travis CI(间断集成解决方案)。您仅须要以下两个命令: pip install -r requirements.txt 装置依赖项jupytext world_facts.md --set-kernel - --execute 在以后的Python环境中测试笔记本的执行状况。您能够在咱们的.travis.yml文件中找到一个具体示例。 ...

May 20, 2021 · 1 min · jiezi

关于jupyter-notebook:拒绝似是而非Jupyter-Notebook安装运行和工作文件夹配置教程

回绝似是而非:Jupyter Notebook装置、运行和工作文件夹配置教程 一、Jupyter Notebook简介Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被利用于全过程计算:开发、文档编写、运行代码和展现后果。——Jupyter Notebook官网介绍简而言之,Jupyter Notebook是网页模式的编程环境,能够在网页中间接编写代码和运行代码,代码的运行后果也会间接在代码块下显示。如在编程过程中须要编写阐明文档,可在同一个页面中间接编写,便于及时作出阐明和解释。 二、Jupyter Notebook装置1、装置形式—应用Anaconda装置倡议通过装置Anaconda来解决Jupyter Notebook的装置问题,因为装置Anaconda曾经主动装置了Jupter Notebook及其他工具、Python解释器以及超过180个Python迷信包及其依赖项,对是否提前装置了适合版本的Python不必关怀。进入Anaconda的官网下载页面抉择适宜版本、下载安装文件,便能够跟装置惯例的软件一样装置。本文示例,抉择了Anaconda3-2020.11-Windows-x86_64这个版本,并在Windows 10环境中装置。 2、装置过程中的无关选项的抉择双击下载的安装文件,装置便开始,根本是一路选默认选项、点击Next,但有几个选项须阐明或作出正确抉择。 a、上面页面上“Just me”和“All Users”两个选项都是能够的,不过选“All Users”须要管理员权限,如果装置后仅本人应用的话选默认(“Just me”)就行。 b、上面页面上的两个复选框都须选中,以便在Windows零碎中增加Anaconda的环境变量和注册装置的Anaconda作为默认Python解释器;如果不选中,在cmd、Windows PowerShell等命令行窗口无奈启动Anaconda、Jupyter NoteBook,只能在Windows开始菜单上先启动Anaconda,也不会注册装置的Anaconda作为Python解释器。c、如果在装置Anaconda前曾经装置同一版本Python解释器,在选中下面页面的第二个选项(注册Anaconda作为默认Python解释器)后,会呈现上面的提示信息,确定便可、Anaconda便作为默认的Python解释器。 d、最初装置实现,在实现页面默认选中两个选项,疏导用户进入Anaconda版本领导网页和开始网页,按默认选项或勾销选中都没影响,点击Finish装置便实现了。 三、Jupyter Notebook运行Anaconda装置实现后,能够多种形式启动并运行Jupyter Notebook,因为本文不波及Anaconda,所以不钻研在Anaconda Navigator中启动运行Jupyter Notebook,上面仅阐明以下两种形式:命令行窗口和Jupyter Notebook快捷方式。 1、命令行窗口运行Jupyter Notebooka、关上cmd(也称命令提示符)窗口。 b、在cmd窗口输出如下命令并回车。 jupyter notebookc、Jupyter Notebook即启动。 d、Jupyter Notebook启动后在浏览器中关上了Jupyter工作网页、并在网页中关上了默认本地工作文件夹:C:\Users\Administrator。 e、在Windows PowerShell以及Anaconda自带的Anaconda Prompt、Anaconda Powershell Prompt等命令行窗口启动运行Jupyter Notebook状况根本与上述统一,只是在Anaconda中启动Jupyter Notebook曾经激活了Anaconda根本的Python环境(差别处在下图曾经标识),至于为什么要激活、怎么激活Anaconda的Python环境,本文不予探讨。 2、快捷方式运行Jupyter Notebook在Windows 10开始菜单,顺次关上Anaconda→Jupyter Notebook,即启动运行了Jupyter Notebook,与在命令行窗口启动运行Jupyter Notebook完全一致。也能够把这个快捷方式发送到桌面,点击桌面上的Jupyter Notebook快捷方式有同样的成果。 四、Jupyter Notebook工作文件夹配置(干货)按上述形式启动运行Jupyter Notebook后,Jupyter Notebook网页关上的是默认的本地工作文件夹,个别为Windows用户文件夹,本文示例是:C:\Users\Administrator。在该文件夹中个别曾经有很多子文件夹和其余文件,不是咱们现实的工作文件夹。那么怎么设定咱们现实的本地工作文件夹呢?网上对这个问题的探讨十分多,大家总结了N多办法,但很多办法没有阐明原理,似是而非。本文在这一章节予以具体阐明,也是写本文的最大动机。 1、Jupyter Notebook配置文件生成a、Jupyter Notebook装置后,如果按默认配置运行,是不须要配置文件、启动运行后也不会生成配置文件,要生成可批改的配置文件,须要在cmd窗口输出以下命令并回车。 jupyter notebook --generate-configb、该命令运行后即在Windows 用户文件夹C:\Users\Administrator生成了子文件夹.jupyter,并在其中生成了Jupyter Notebook配置文件:jupyter_notebook_config.py,配置文件中配置设定为默认配置。 ...

March 10, 2021 · 1 min · jiezi

关于jupyter-notebook:Jupyter-Notebooks您一直在寻觅的基于Web的开发工具

Jupyter Notebooks当初很火,这有其情理。这种基于Web的交互式计算环境使软件工程师能够轻松创立和共享含有实时代码、方程式、图表甚至叙述文本的文档。您能够应用窗口组件、图形、图像和视频等定制笔记本。 开源我的项目Jupyter反对40多种语言,比方Python、R、Julia、Matlab、Octave、Scheme、Processing和Scala。您能够通过电子邮件或Dropbox和GitHub共享笔记本。而因为交互式输入和大数据集成,您无奈漠视这个易于应用的弱小工具。 本文介绍装置Jupyter和启动您第一个笔记本的过程,将在Linux Mint上演示,但能够将其装置在反对conda、pip、pipenv或Docker的任何设施上。实现后,您将领有一个功能齐全的Jupyter Notebook,筹备开始第一个我的项目。 装置依赖项 部署Jupyter Notebook前要装置许多软件包。 要装置的第一个依赖项是Python。咱们同样应用Linux Mint;如果您抉择其余Linux桌面版本,可能要更改装置命令(比方将apt-get换成dnf)。 要在Linux Mint上装置Python,登录后关上终端窗口,执行以下命令: sudo apt-get install python3 -y您可能会发现Python3已装置。无论怎样,要验证装置,执行以下命令: python3 --version您会看到计算机上安装的Python的具体版本。 接下来须要装置让咱们能够创立Python虚拟环境的一个软件。装置该软件的命令是: sudo apt-get install python3-venv -y因为咱们将应用Python软件包安装程序pip,须应用以下命令进行装置: sudo apt-get install python3-pip -y最初咱们须要装置Voila,它让您能够在Web浏览器中查看Jupyter Notebooks。首先用以下命令创立一个新目录: mkdir ~/voila当初切换进入到新目录: cd ~/voila当初咱们能够应用Python venv命令创立虚拟环境,如下所示: python3 -m venv venv上述命令将创立名为venv的新目录,其中蕴含许多文件和子目录。在该目录中,咱们能够应用以下命令为voila加载预约义变量: source venv/bin/activate最初咱们能够应用pip装置Voila: pip install voila装置Jupyter 装置所有依赖项后,咱们当初能够装置Jupyter。咱们将增加几个库,让它更有用一点。随时能够依据须要装置更多的Python库。执行命令: pip install jupyter numpy matplotlib已实现了装置。当初是时候部署您的第一个Jupyter Notebook了。 部署Notebook 遗憾的是,Jupyter Notebooks每次都必须从命令行来部署。因而,没有不便的桌面快捷方式可供点击。这是因为Notebooks必须从虚拟环境中启动。因而在~/ voila目录中,执行命令: jupyter notebook运行命令后不久,默认Web浏览器会关上,Jupyter Notebook实例已筹备能够工作(图1)。 图1:咱们的第一个Jupyter Notebook已准备就绪! 在Notebook主页上,点击“新建”以显示下拉菜单(图2)。 图2:“新文件”下拉菜单,您能够在其中抉择可用的类型 抉择Python3后在呈现的窗口(图3)中,点击“无标题”以命名您的Notebook。 图3:新文件窗口,您能够在这里开始创立Python我的项目 内核和单元 为了胜利应用Jupyter Notebook,您须要理解两个术语:内核和单元。 在Jupyter畛域,内核是一个计算引擎,它执行Jupyter Notebook文档中含有的代码。单元形成了Notebook的主体。您能够在单元中编写(或粘贴)内容。有两种类型的单元:代码单元和Markdown单元。您可能猜到了,代码单元含有代码,Markdown单元含有应用Markdown格式化的文本。 Hello, World! 无妨应用相熟的“Hello,World!”Python代码创立新的代码单元。在主窗口中,您会看到空单元,输出: print(“Hello New Stack”)您已创立了第一个代码单元(图4)。 图4:咱们的Hello World Python程序已筹备好运行 如果点击“运行”按钮,内核将执行代码,并在单元下输入后果(图5)。 图5:Hello,New Stack! 代码运行后,会在第一个单元下方创立新的单元,因而您能够持续创立。 解决数组 无妨看看另一种类型的示例。还记得在装置过程中,咱们是否蕴含了numpy?Numpy是一个Python库,增加了对大型多维数组的反对。无妨应用该库。 先导入该库,为此在新单元中输出以下内容: 1 import numpy as np2 def square(x):3    return x * x点击“运行”以执行代码。当初咱们能够将numpy援用为np,并在创立的任何其余单元中应用变量square。 ...

March 5, 2021 · 1 min · jiezi

关于jupyter-notebook:PyTorch-于-JupyterLab-的环境准备

PyTorch 是目前支流的深度学习框架之一,而 JupyterLab 是基于 Web 的交互式笔记本环境。于 JupyterLab 咱们能够边记笔记的同时、边执行 PyTorch 代码,便于本人学习、调试或当前回顾。 本文将介绍这样的环境如何进行筹备。理解更多: PyTorch 官网文档JupyterLab 交互式笔记本装置 AnacondaAnaconda: https://www.anaconda.com/prod...北外镜像源: https://mirrors.bfsu.edu.cn/h...# 激活 base 环境conda activate base装置 JupyterLabJupyterLab: https://jupyterlab.readthedoc...应该已随 Anaconda 装置,如下查看版本: jupyter --version不然,如下进行装置: conda install -c conda-forge jupyterlab执行 jupyter lab 启动,浏览器会关上 http://localhost:8888/ : 版本 < 3.0 倡议装置 TOC 扩大: jupyter labextension install @jupyterlab/tocTOC 目录成果如下: 创立 PyTorch 环境PyTorch: https://pytorch.org/# 创立虚拟环境conda create -n pytorch python=3.8 -yconda activate pytorch# 装置 PyTorch with CUDA# NOTE: Python 3.9 users will need to add '-c=conda-forge' for installationconda install pytorch==1.7.1 torchvision==0.8.2 cudatoolkit=10.2 -c pytorch -ytorch, torchvision, python 版本兼容状况CUDA Toolkit 与 Nvidia 驱动版本兼容状况Nvidia Driver 于 Ubuntu 举荐装置方法如下查看 PyTorch 版本与 GPU 反对状况: ...

January 21, 2021 · 1 min · jiezi

关于jupyter-notebook:jupyter使用自动补全和切换默认浏览器

主动补全能够做conda环境中执行以下命令。linux下关上conda环境的命令是: conda activate退出conda环境的命令是: conda deactivate装置插件: pip install jupyter_contrib_nbextensionsjupyter contrib nbextension install --user重启jupyter,能够看到多进去了一个叫'nbextensions'的菜单,点进去能够在外面抉择要关上的插件。其中的'Hinterland'是代码主动补全。其余插件喜爱也能够开。更换默认浏览器在终端中执行以下命令来查看jupyter配置文件所在的中央: jupyter notebook --generate-config关上上一步创立/找到的配置文件jupyter_notebook_config.py,去掉c.NotebookApp.browser前的正文,并做如下批改,以谷歌浏览器为例: import webbrowser webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'/opt/google/chrome/google-chrome'))c.NotebookApp.browser = 'chrome'其中webbrowser.register的第一个参数要跟c.NotebookApp.browser等号前面的内容对应,GenericBrowser的参数是浏览器的装置门路,linux个别在/opt文件夹或者/usr/bin文件夹里能够找到,门路后面的u如同是示意用unicode编码的意思。

November 17, 2020 · 1 min · jiezi

关于jupyter-notebook:Bong5-款超牛逼的-Jupyter-Notebook-插件

作者:东哥腾飞微信公众号:Python数据迷信 本次东哥分享三个高效的Jupyter Notebook插件,每个都很实用。 1、Scratchpad这个插件十分有用,咱们做数据分析EDA或者特色工程时常常要各种尝试,而不是要真正的运行cell代码。 这个时候在同一个notebook里来回运行就非常容易乱,找不到本人想要的那个对的代码了。当然,能够正文,不过也比拟不好治理。 应用这个插件能够在以后内核上运行代码,而不用在理论代码之间一直增加新单元以进行试验或计算。应用 Shift + Enter 关上便签本,而后通过 Ctrl + B 将其敞开。 2、Code foldingcode folding 插件提供了三种代码折叠选项,在敲代码过程中是十分有必要的。 1、缩进折叠该算法能够检测缩进,容许将缩进一一折叠。这样咱们就能够折叠更多的代码了,看下上面的代码。 如上所示,有两个缩进。因而,此代码单元先折叠为: 进一步的折叠: 2、第一行正文折叠这种折叠用在第一行中有正文的单元格。 后果是仅显示第一行中的正文,而不显示整个单元格。这样,当咱们删除代码时,能够保留第一行的正文,对单元格进行简短而精确的形容。 所以,以下单元格… …能够折叠成这样: 3、魔术折叠下面的概念也实用于第一行是魔术命令的状况。 这个非凡的折叠对于 import导入包的单元格可能特地有用。 另一个利用场景是删除所有非Python代码,以防止可能的烦扰。 折叠会将下面的单元格变成: 此外,保留Jupyter notebook后,所有折痕都将保留。 3、zenmode最初一个插件可能是三个中最罕用的了。 zenmode插件能够将菜单删除,使你能够专一于代码。 这样可使 Jupyter notebook 的界面在视觉和应用上更难受。 4、Table of contents这个插件将为notebook减少一个目录。 通过点击下方图片中红框内的按钮,即可激活或停用它。 当应用含有较多内容的notebook时,该性能的实用性便体现进去了。点击目录中的任何题目,即可间接定位到notebook的相应地位。 5、Variable Inspector能够通过菜单上标红的按钮来执行该扩大。 点击按钮后,将显示当下命名空间中的所有变量信息,包含变量的名称、类型、大小、模式和值。 6、总结以上就是东哥本次安利的5个插件。 上面是历史往期分享的Jupyter相干的好文,能够自行学习。 新一代Notebook神器呈现,Jupyter危险了! 如何在启动 Jupyter Notebook 时主动执行一段代码? 安利 9 个高效的 Jupyter Notebook 扩大工具 ...

October 29, 2020 · 1 min · jiezi

关于jupyter-notebook:JupyterLab-交互式笔记本的安装使用

介绍JupyterLab 是基于 Web 的交互式开发环境,是 Jupyter 下一代的 Notebook 界面。 能够解决 Jupyter notebooks (.ipynb),编辑文本 (.md, .csv, .json, ...),查看文件 (images, PDF, ...),操作终端等。 另外, 交互式,指文本与代码的交互。意味着文本中的代码,如 Markdown 代码段,可间接运行。开发环境,表明其性能足够弱小,更像是一个 IDE 。扩大插件也让咱们能自定义或加强各种性能。 官网文档: https://jupyterlab.readthedoc... 装置举荐以下两种形式之一: Anaconda: Anaconda 是用于科学计算的 Python 发行版,自带有 JupyterLab 。Docker: Docker 是一个开源的容器引擎,能够间接拉取 JupyterLab 镜像环境。Anaconda下载地址: https://www.anaconda.com/prod... conda 查看: ❯ conda list | grep jupyjupyter 1.0.0 py37_7jupyter_client 5.3.4 py37_0jupyter_console 6.1.0 py_0jupyter_core 4.6.1 py37_0jupyterlab 1.2.6 pyhf63ae98_0jupyterlab_server 1.0.6 py_0装置: conda install -c conda-forge jupyterlab或更新: conda update -c conda-forge jupyterlab开始应用jupyter lab浏览器会关上: ...

October 4, 2020 · 2 min · jiezi

关于jupyter-notebook:配置Jupyter环境安装补全美化常用库

1 Jupyter简介Jupyter Notebook是一个交互式笔记本,反对运行40多种编程语言,实质是一个Web应用程序,便于创立和共享文学化程序文档,反对实时代码,数学方程,可视化和Markdown。 2 装置应用pip或pip3装置: # sudo pip install jupytersudo pip3 install jupyter3 简略自定义设置首先生成默认配置: jupyter notebook --generate-config接着会提醒默认配置的地位,关上,找到c.NotebookApp.notebook.dir=''能够批改默认目录:留神须要加上u前缀,示意Unicode字符串。 c.NotebookApp.browser能够批改默认浏览器,比方批改为Chrome:须要加上%s参数,门路批改为对应门路。 其余配置请配合正文间接批改。 4 补全补全须要装置nbextensions以及nbextensions_configurator: sudo pip3 install jupyter_contrib_nbextensions jupyter_nbextensions_configurator# sudo pip install jupyter_contrib_nbextensions jupyter_nbextensions_configuratorjupyter contrib nbextension install --userjupyter nbextensions_configurator enable --user若依赖缺失请装置对应依赖,装置胜利后关上Jupyter: jupyter notebook进入Nbextensions选项卡,去掉disable xxx的那个勾选,抉择Hinterland即可: 5 丑化默认的UI真的不忍直视,在Github上有一个jupyter-themes的工具,能够对其进行丑化。首先应用pip3/pip装置: sudo pip3 install jupyterthemes5.1 主题装置实现后,应用 jt -l查看主题,携带的主题有7个: onedorkgrade3oceans16chesterishmonokaisolarizedlsolarizedd应用-t切换主题,比方: jt -t chesterish5.2 字体反对以下三种自定义字体: 代码字体:-fNotebook字体(界面字体):-nf一般文本/Markdown字体:-tf其中代码字体(-f)反对如下: Notebook字体(-nf)/一般文本字体(-tf)/Markdown字体(-tf)反对如下: 反对以下六种自定义字体大小: 代码字体大小:-fs,默认11Notebook字体大小:-nfs,默认13一般文本/Markdown字体大小:-tfs,默认13Pandas Dataframs字体大小:-dfs,默认9输入区域字体大小:-ofs,默认8.5Mathjax字体大小:-mathfs,百分比,默认100%比方笔者喜爱Firacode字体,并且须要放大输入区域的字体,能够如下设置: jt -t chesterish -f firacode -fs 14 -ofs 125.3 Cell宽度与行距能够手动管制Cell的宽度以及代码的行距,-cellw管制宽度(默认980),-lineh管制行距(默认170)。 ...

August 12, 2020 · 1 min · jiezi

机器学习项目之实现垃圾邮件处理1数据清洗

学习了支持向量机算法后(SVM)想自己用一些数据集来尝试一下,在网络上找了一个垃圾邮件处理的数据集正好适用于SVM支持向量算法,所以在这里不讲SVM算法内容,而是分享我是如何用Python来实现的。具体数据集:[邮件数据集][1][1]: https://pan.baidu.com/s/1ivQmo-04fCa3qVG0SAiUtQ1. 首先查看数据集 邮件中有很多中特征值,有些是有用的有些却无法帮助我们判断是否是垃圾邮件,所以这里我们选取其中4个特征值(From,To,Data,Content)。(1、邮件的内容分析——主要包含:发件人、收件人、发件时间以及邮件的内容)![分类][3](2、是否为垃圾邮件的标签,spam——是垃圾邮件;ham——不是垃圾邮件)2. 分析数据集分析:垃圾邮件处理问题是一个**监督学习**,仅用来分类邮件好坏固为**二分类**问题,分类内容为**长文本**。所有非向量形式的特征工程,首先要转换成向量的形式该数据集适合很多种模型(贝叶斯,KNN),在这里我用SVM来解决3. 开始进行数据清洗的工作引入模块常用功能 import os索引文件(分类标签)读取,该文件中分为两列第一列:分类标签是否为垃圾邮件(是:spam、否:ham);第二列:存放邮件对应文件夹路径,两列之间通过空格分割 def read_index_file(file_path): type_dict={"spam":"1","ham":"0"} #用字典存放分类的垃圾邮件(0/1) index_file=open(file_path) index_dict={} #存储分类后得到的结构字典 try: for line in index_file: #按照行来读取 arr=line.split(" ") #从每行的第一个空格分开 if len(arr) == 2: key,value = arr #将key和value分别赋值前后两段 #将value中的数据规整,将../data去掉 value=value.replace("../data","").replace("\n","") #将每一个值是1/0对应加入数据字典中 index_dict[value]=type_dict[key.lower()] #将spam/ham中可能出现的大写字母换成小写 finally: index_file.close() return index_dict 邮件的文件内容数据读取 def read_file(file_path): #打开邮件只读r,编码方式gb2312,错误忽略 file=open(file_path,"r",encoding="gb2312",errors="ignore") content_dict={} try: is_content = False for line in file: #按行读取 line = line.strip() #去掉每行的空格 if line.startswith("From:"): #将From:后的内容加入数据字典,将key="from:",value=line[5:]5以后的内容 content_dict["from:"]=line[5:] elif line.startswith("To:"): content_dict["to:"]=line[3:] elif line.startswith("Date:"): content_dict["date:"]=line[5:] elif not line: # 邮件内容与上面信息存在着第一个空行,遇到空行时,这里标记为True以便进行下面的邮件内容处理 # line文件的行为空时是False,不为空时是True is_content = True #如果这一行是空行表明下一行开始是具体的内容(content),则开始处理邮件 if is_content: if "content" in content_dict: #如果这一行有内容则加入字典 content_dict["content"] += line else: #如果这一行没有内容则不加入,继续下一行 content_dict["content"] = line finally: file.close() return content_dict3、邮件数据处理(内容的拼接,并用逗号进行分割) ...

June 11, 2019 · 2 min · jiezi

kdb和jupyter的配置

本文主要介绍: 配置kdb和Python交互的jupyter-notebook环境:使用pyqpyq的安装与使用1. pyq的jupyter环境配置由于本文使用的是32bit免费版本的kdb+(从官网下载windows.zip),所以Python也需要是32位版本的。 环境要求: 安装必须使用windows的cmd环境Python须为3.6版本(如不是,需要创建虚拟环境,下面会介绍)1.1 Python3.6虚拟环境的配置 如果默认已经是python3.6的32位版本,则本节可以跳过。 否则,在windows下,使用conda命令创建32位的虚拟环境: set CONDA_FORCE_32BIT=1 conda create -n py36_32 python=3.6 这样会在C:\Anaconda3\envs下生成一个py36_32的虚拟环境,使用如下命令可以激活该环境: activate py36_32可以看到在激活之后,python变为32位的3.6版本:pip版本: 接下来的步骤都要在此虚拟环境下进行。 1.2 Jupyter环境的配置 接下来,严格按照Install Jupyter Kernel上的步骤: 这里前两步已经不用再做了;%VIRTUAL_ENV%就是1.1中创建的python虚拟环境的位置,即C:\Anaconda3\envs\py36_32;第4步,将从官网下载windows.zip解压到%VIRTUAL_ENV%目录下;剩下的按步骤进行。在这里配置环境变量QHOME和QBIN: QHOME: %VIRTUAL_ENV%\qQBIN: %QHOME%\w32\q.exe 以及Path中添加: C:\Anaconda3\envs\py36_32\q\w32C:\Anaconda3\envs\py36_32\q全部完成之后,执行(仍需在虚拟环境下): pip install jupyter pyq pyq-kernel再执行 %QBIN% python.q -mpyq.kernel install即安装完毕。完成之后,执行下面代码可以检验是否安装成功: >jupyter kernelspec listAvailable kernels: pyq_3 C:\Users\a\AppData\Roaming\jupyter\kernels\pyq_3 python3 c:\users\a\py36\share\jupyter\kernels\python32. PYQ的配置依然是在python3.6 32位的虚拟环境下,执行: pip install -U pyq在虚拟环境(python3.6 32bit)下启动pyq,否则会报错找不到python.dll: q python.q 之后便可以使用pyq的功能,具体使用不再介绍,移步pyq user guide。 3. Jupyter 展示先激活虚拟环境: activate py36_32启动jupyter: jupyter notebook在new下选取PyQ3即可: ...

May 28, 2019 · 1 min · jiezi

[python]之菜鸟安装[pyecharts]进入[jupyter notebook]

第一步:升级python作为一个进军python的新菜鸟,我遇到了一个问题,在Jupyter Notebook里面我无法使用pyecharts,所以需要安装,我百度了一个常用方法,在win10下,管理员运行cmd,然后输入:pip install pyecharts运行之后发现安装不了,出现以下错误:You are using pip version 10.0.1, however version 19.0.2 is available. You should consider upgrading via the ‘python -m pip install –upgrade pip’ command.所以需要先输入:python -m pip install –upgrade pip安装成功出现如下:Collecting pip Downloading https://files.pythonhosted.org/packages/d7/41/34dd96bd33958e52cb4da2f1bf0818e396514fd4f4725a79199564cd0c20/pip-19.0.2-py2.py3-none-any.whl (1.4MB) 100% |████████████████████████████████| 1.4MB 4.8MB/sInstalling collected packages: pip Found existing installation: pip 10.0.1 Uninstalling pip-10.0.1: Successfully uninstalled pip-10.0.1Successfully installed pip-19.0.2第二步:安装pyecharts输入:pip install pyecharts安装成功出现:Collecting pyecharts… … # 内容太多,省略部分安装信息Installing collected packages: future, lml, jupyter-echarts-pypkg, pillow, dukpy, macropy3, javascripthon, pyecharts-javascripthon, MarkupSafe, jinja2, pyecharts Running setup.py install for future … done Running setup.py install for jupyter-echarts-pypkg … done Running setup.py install for macropy3 … done Running setup.py install for javascripthon … doneSuccessfully installed MarkupSafe-1.1.0 dukpy-0.2.2 future-0.17.1 javascripthon-0.10 jinja2-2.10 jupyter-echarts-pypkg-0.1.2 lml-0.0.2 macropy3-1.1.0b2 pillow-5.4.1 pyecharts-0.5.11 pyecharts-javascripthon-0.0.6第三步:测试安装是否成功打开Jupter Notebook,查验是否成功安装,输入:from pyecharts import Geo仍然出现错误:ImportError Traceback (most recent call last)<ipython-input-2-e231aa7c500b> in <module>()—-> 1 import pyechartsImportError: No module named ‘pyecharts’没办法,找了一圈,只能去找源路径自己下载了,地址如下:https://pypi.org/project/pyecharts/#files这里要感谢一个大神发的文章,里面有链接,不过不是最新的,本文章更新至最新,下面是引用的大神的链接:https://blog.csdn.net/f823154…下载得到文件pyecharts-0.5.11-py2.py3-none-any.whl但是我郁闷了,文件放哪啊,怎么打开啊?开始了寻找之旅。根据一个大神的操作,链接是:https://blog.csdn.net/f823154…地址放在:D:\Anaconda3\Lib\site-packages运行Anaconda Prompt,然后再一次安装升级python(D:\Anaconda3) C:\Users\xxx>python -m pip install –upgrade pip再次键入 :pip install pyecharts 安装 pyechartsOK这下在Jupyter Notebook就可以引用pyecharts啦!!! ...

February 12, 2019 · 1 min · jiezi

Jupyter Notebook 安装插件

强烈建议在Virtualenv虚拟环境下使用pip安装,这样就不需要什么sudo或–user之类的了,也不会搞乱系统级的配置。一键安装所有东西:# 安装插件配置器pip install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable# 安装所有插件包pip install jupyter_contrib_nbextensionsjupyter contrib nbextension install# 安装所有主题pip install jupyterthemes1. 安装插件管理器 Jupyter Nbextensions ConfiguratorRefer to Github page.# 安装Jupyter的配置器$ pip install jupyter_nbextensions_configurator# 启动配置器$ jupyter nbextensions_configurator enable –user装好后,输入jupyter notebook命令打开网页,就会发现多出一个栏目:2. 安装插件包 Jupyter-extensions# 下载所有插件包pip install jupyter_contrib_nbextensions# 安装下载的插件包jupyter contrib nbextension install3. 安装颜色主题 Jupyter-themes参考:Github jupyter-themes安装:$ pip install jupyterthemes$ pip install –upgrade jupyterthemes使用方法:Jupyter-themes实际上是一个命令行的命令工具,切换主题的话需要用命令行来执行。安装好后,就可以用jt命令来执行。以下是常用的命令:# 查看所有颜色主题 –list$ jt -l# 选择主题 –theme$ jt -t 主题名称# 恢复默认主题 –recover$ jt -r4. 使用Sublime Text快捷键Jupyter固然好用,但是直接在里面写代码真的很烦,效率还没有直接在记事本里面高。所以非常有必要设定为Sublime Text的快捷键,加速编程效率。参考:把Jupyter Notebook配置成Coding神器(Windows)参考:在 Notebook 中使用 Sublime Text 快捷键主要方法就是新建(或修改)~/.jupyter/custom/custom.js文件,加入这么一段运行命令:require([“codemirror/keymap/sublime”, “notebook/js/cell”, “base/js/namespace”], function(sublime_keymap, cell, IPython) { // setTimeout(function(){ // uncomment line to fake race-condition cell.Cell.options_default.cm_config.keyMap = ‘sublime’; var cells = IPython.notebook.get_cells(); for(var cl=0; cl< cells.length ; cl++){ cells[cl].code_mirror.setOption(‘keyMap’, ‘sublime’); } // }, 1000)// uncomment line to fake race condition });保存退出然后刷新Jupyter页面即可。亲测即使是在Virtualenv虚拟环境中运行的Jupyter,也会识别同样的这个文件。如果本地的custom.js不在那个位置,那么就需要在Jupyter里面运行一段代码来检查位置在哪里了:# 打印 Jupyter 配置目录的路径from jupyter_core.paths import jupyter_config_dirjupyter_dir = jupyter_config_dir()print(jupyter_dir)# 打印 custom.js 的路径import os.pathcustom_js_path = os.path.join(jupyter_dir, ‘custom’, ‘custom.js’)print(custom_js_path)# 如果 custom.js 文件存在,打印其内容if os.path.isfile(custom_js_path): with open(custom_js_path) as f: print(f.read())else: print(“You don’t have a custom.js file”)完成后,快捷键如下:Ctrl+ L 选择一行(连续选取多行) Ctrl+ D 选择当前变量(或重复选择并编辑) Ctrl+ Shift+ M 选择括号里面的内容 Ctrl+ Shift+ K 或 Ctrl+ X 删除一行 Ctrl+ K K 删除本行光标后的所有内容 Ctrl+ Shift+ D 快速复制一行 Ctrl+ K U 大写 Ctrl+ K L 小写 Ctrl+ / 注释 Ctrl+ Tab 代码提示,可以连续多按 ...

January 22, 2019 · 1 min · jiezi

为什么要用IPython/Jupyter?

python里面调试确实有点烦恼,尤其是在vim里,想要尝试一些简单的编码问题,实在是有点麻烦,不想到命令行模式一行一行执行,也不想再新建一个文件测试一个简单的功能。而且就是不管这些,测试一个简单的功能如学习语法、测试编码、测试新学习的包等,在IDE里面测试,看不到每个部分的output效果(除非自己手动去命令行里复制或截屏),在命令行里测试,则没法轻松撤销前面的代码。。。。所以这时候才想到好像前阵子看到youtube视频里别人用IPython,是那种又能轻松编辑又能为每部分显示output效果,还能在旁做markdown笔记的东西。出于这个想法,搜到了这篇知乎回答,看到了不少有意思的东西,感觉又展开了一个崭新的领域,python的视界豁然开朗。这篇文章极好的解释了IPython的入门用法,相当酷!我怎么竟然这么久都不知道这种东西的存在?IPython和Jupyter的区别?据说一开始IPython是作为IPython shell的存在,后来Jupyter融合了它,又把自己和IPython上独立出来,做成了网页版的Jupyter Notebook这样的东西。Jupyter强大的特性,加上和各种数据研究库的紧密结合,真让人不能忽视它的存在了。IPython的安装方法,简单地pip install ipython即可。但是,想到IPython本身一个shell,让我想起了我自己用的shell是zsh,让我把zsh切换到别的shell里面去,还真有点不喜欢。。这可能是个stylish issue吧。所以,应该直接了当的安装jupyter,其中也会自动安装上IPython shell,作为其运行的Kernel。错误的安装Jupyter~只安装Jupyter本身的话,很简单:python -m pip install jupyter。不过根据官方文档,强烈建议安装Jupyter的Anaconda发行版,像大礼包一样的自动安装python+Jupyter Notebook+一系列数据研究库。因为本来就是要研究机器学习等一系列数据研究的,所以Anaconda正合适。这个我觉得再好不过了,所以直接跳到Anaconda页面去看安装方法。然后看到,Anaconda安装方法是不能简单apt-get或brew或pip install的,500M左右的大小,需要下载后启动图形安装工具或shell脚本安装(.sh文件本身就500M,而且安装分为Python 3和Python 2的两种方式。然后就会发现:Anaconda谁装谁后悔!Anaconda体积庞大,软件管理看起来一体化简单,实际上在处理一些Bug和自定义设置的情况下非常不好定位。我在Mac上初次安装Anaconda大礼包后,连简单的jupyter notebooke这样的命令都执行不了,详尽了办法最后才用直接指定路径的方式运行。这只是一开始,之后还有notebook里各种找不到外部安装的python package的情况。所以还是别图便宜,手动安装一步一步来吧。一键安装很多时候都没那么好。试了下手动安装的方法,pip install jupyter,或者官方的python -m pip install jupyter,都会发生jupyter: command not found找不到命令。参考了数十篇网络上中英文文章,都没有解决。常说的直接引用/.local/bin这个位置的 jupyter也不行(没有)。终于,意识到这些方法都是错误的思路。正确的安装Jupyter Notebook不管官网怎么推荐Anaconda,网络上各种简单解说,总之Anaconda或pip install jupyter都很容易引发巨大的问题。由于jupyter的性质:它是调用python内核的东西,用系统python还是用自己的python,这都是很敏感很麻烦的问题。用系统的python很容易识别不到或者被别的程序修改导致bug,用自己的python会导致别的地方安装的package在jupyter里识别不了。所以:参考了这篇的思路,正确的方法是在virtualenv虚拟环境下,绝对安全封闭的环境下用pip安装jupyter。这样的话,第一,不需要sudo pip这样敏感的东西去安装jupyter这么复杂的工具;第二,也保证了jupyter不会搞乱其它东西。然后,二话不说,在已有virtualenv的情况下,在某个文件夹里建立虚拟环境,并启动虚拟环境。然后简单一句pip install jupyter,完成安装。安装完成后jupyter notebook,完美运行!# for Python2$ pip install jupyter# for Python3$ pip3 install jupyter这样的话,即使以后要在jupyter里各种安装插件、各种配置新kernel等,都不用害怕了,因为再怎么玩弄,也出不去这个圈。话说回来,实际上你也没什么需要在全系统配置jupyter的必要,在某个文件夹玩就足够足够的了。何必呢?启动Jupyter用命令行启动很简单,在某个工作目录,输入:$ jupyter notebook这样就能以这个目录打开一个http://localhost:8889/tree的网页,一切都在这个网页里操作。正确的启动Jupyter正确的方式,实际上是在Virtualenv虚拟环境下启动,可以随意安装各种包,适配各种Python版本环境:# 启动Virtualenv$ source ~/PATH-TO-VENV/activate # 启动Jupyter(venv)$ jupyter notebook添加Python3 Kernel参考:Jupyter增加内核默认的只有Python2 Kernel,所以只能建立Python2的笔记。要添加也很简单。强烈建议在Python3的Virtualenv虚拟环境下实现!!!# 启动Virtualenv$ source /PATH-TO-VENV/activate # 在Python3的虚拟环境下安装Kernel(venv3)$ pip3 install ipykernel# 将Kernel添加进Jupyter笔记选项中(venv3)$ python -m ipykernel install启动Jupyter notebook后,就会看到Kernel里面多了Python3了:终端里找不到jupyter命令总是报command not found jupyter错误,说没有这个命令。一开始还以为是zsh的问题,可是切换到bash也一样。照着网上攻略在.zshrc里改也没用,在.bash_profile里改也没用。然后发现,在Mac自带的Terminal.app中就可以正常打开,不需要改任何配置。这才知道原来是iTerm2无法识别。于是在Terminal.app中用which命令查看jupyter命令的所在处,看到它位于/Users/我的用户名/anaconda2/bin/jupyter这个地方。于是直接在/.zshrc中加入alias:$ alias jupyter="/Users/我的用户名/anaconda2/bin/jupyter"重启iTerm2,好用!但是,iTerm2中的bash还是不能访问,用同样的方法也不行。暂时没找到解决方法。常见问题Kernel Error这个一般是你的.ipynb文件中的kernel指定问题。比如你创建笔记文件时,指定的是Python2的环境(或虚拟环境),然后你本机的Python2环境或虚拟环境被删除了,然后Jupyter根据笔记文件里指定的路径地址,就找不到Kernel了。所以打开笔记本的这个笔记 -> 点菜单上Kernel -> 点Change Kernel -> 选一个当前环境支持的Kernel就可以了。 ...

January 22, 2019 · 1 min · jiezi

「JupyterLab」 Jupyter Notebook 新生代IDE模式页面

参考:Overview安装:$ pip install jupyterlab启动(不是jupyter notebook):$ jupyter labJupyterlab中最好用的就是显示csv数据。CSV数据显示效果:安装插件jupyterlab是和jupyter notebook隔离的,也就是notebook中的插件在这里不能用。Jupyterlab的插件都是基于NodeJS安装的,但同时所有npm的包也会自动保存到当前的python环境中(或虚拟环境)。安装命令格式是:# 安装NPM包$ jupyter labextension install <NAME>常用插件安装:# 目录结构显示jupyter labextension install @jupyterlab/toc# Voyager 数据优化浏览jupyter labextension install jupyterlab_voyager# Drawio 画流程图jupyter labextension install jupyterlab-drawio# Lantern数据绘图加强jupyter labextension install pylanternjupyter serverextension enable –py lantern优选插件效果如下:jupyterlab_voyager:

January 22, 2019 · 1 min · jiezi

Python数据分析:seaborn

seaborn是python中的一个非常强大的数据可视化库,它集成了matplotlib,下图为seaborn的官网,如果遇到疑惑的地方可以到官网查看。http://seaborn.pydata.org/ 从官网的主页我们就可以看出,seaborn在数据可视化上真的非常强大。1.首先我们还是需要先引入库,不过这次要用到的python库比较多。import numpy as npimport pandas as pdimport matplotlib as mplimport matplotlib.pyplot as pltimport seaborn as sns2.sns.set_style():不传入参数用的就是seaborn默认的主题风格,里面的参数共有五种darkgridwhitegriddarkwhiteticks我比较习惯用whitegrid。 3.下面说一下seaborn里面的调色板,我们可以用sns.color_palette()获取到这些颜色,然后用sns.palplot()将这些色块打印出来。color_palette()函数还可以传入一些参数sns.palplot(sns.color_palette(“hls”,n))#显示出n个不同颜色的色块sns.palplot(sns.color_palette(“Paired”,2n))#显示出2n个不同颜色的色块,且这些颜色两两之间是相近的sns.palplot(sns.color_palette(“color”))#由浅入深显示出同一颜色的色块sns.palplot(sns.color_palette(“color_r”))##由深入浅显示出同一颜色的色块sns.palplot(sns.color_palette(“cubehelix”,n))#显示出n个颜色呈线性变化的色块sns.palplot(sns.cubehelix_palette(k,start=m,rot=n))#显示出k个start(0,3)为m,rot(-1,1)为n的呈线性变化的色块sns.palplot(sns.light_palette(“color”))#将一种颜色由浅到深显示sns.palplot(sns.dark_palette(“color”))#将一种颜色由深到浅显示sns.palplot(sns.dark_palette(“color”,reverse=bool))#reverse的值为False,则将一种颜色由深到浅显示;若为True,则将一种颜色由浅到深显示4.sns.kdeplot(x,y,cmap=pal):绘制核密度分布图。5.sns.distplot(x,kde=bool,bins=n):kde代表是否进行核密度估计,也就是是否绘制包络线,bins指定绘制的条形数目。6.根据均值和协方差绘图:首先我们要根据均值和协方差获取数据mean,cov = [m,n],[(a,b),(c,d)]#指定均值和协方差data = np.random.multivariate_normal(mean,cov,e)#根据均值和协方差获取e个随机数据df = pd.DataFrame(data,columns=[“x”,“y”])#将数据指定为DataFrame格式df然后绘制图像sns.jointplot(x=“x”,y=“y”,data=df) #绘制散点图用sns.jointplot(x=“x”,y=“y”,data=df)可以绘制出x和y单变量的条形图以及x与y多变量的散点图。7.在jointplot()函数中传入kind=“hex”,能够在数据量比较大时让我们更清晰地看到数据的分布比重。x,y = np.random.multivariate_normal(mean,cov,2000).Twith sns.axes_style(“white”): sns.jointplot(x=x,y=y,kind=“hex”,color=“c”)绘制出的图像如下8.sns.pairplot(df):绘制出各变量之间的散点图与条形图,且对角线均为条形图。在这里我们可以先使用df = sns.load_dataset("")将seaborn中原本带有的数据读入或用pandas读取。9.绘制回归分析图:这里可以用两个函数regplot()和lmplot(),用regplot()更好一些。如果两个变量不适合做回归分析,我们可以传入x_jitter()或y_jitter()让x轴或y轴的数据轻微抖动一些,得出较为准确的结果。10.sns.stripplot(x="",y="",data=df,jitter=bool):绘制一个特征变量中的多个变量与另一变量关系的散点图,jitter控制数据是否抖动。11.sns.swarmplot(x="",y="",hue="",data=df):绘制页状散点图,hue指定对数据的分类,由于在大量数据下,上面的散点图会影响到我们对数据的观察,这种图能够更清晰地观察到数据分布。12.sns.boxplot(x="",y="",hue="",data=df,orient=“h”):绘制盒形图,hue同样指定对数据的分类。在统计学中有四分位数的概念,第一个四分位记做Q1,第二个四分位数记做Q2,第三个四分位数记做Q3,Q3-Q1得到的结果Q叫做四分位距,如果一个数n,n的范围是n<Q1-1.5Q或n>Q3+1.5Q,则称n为离群点,也就是不符合数据规范的点,利用盒形图可以很清晰地观察到离群点。如果传入orient则画出的盒形图是横向的。13.sns.violinplot(x="",y="",data=df,hue="",split=bool):绘制小提琴图,split表示是否将两类数据分开绘制,如果为True,则不分开绘制,默认为False。14.还可以将页状散点图和小提琴图在一起绘制,只需将两个绘图命令inner=“None"表示去除小提琴图内部的形状。15.sns.barplot(x=”",y="",hue="",data=df):按hue的数据分类绘制条形图。16.sns.pointplot(x="",y="",hue="",data=df):绘制点图,点图可以更好的描述数据的变化差异。17.我们还可以传入其他参数:sns.pointplot(x=“class”,y=“survived”,hue=“sex”,data=titanic, palette={“male”:"#02ff96",“female”:"#0980e6"},#指定曲线的颜色 markers=[“s”,“d”],linestyles=["-","-."])#指定曲线的点型和线型绘制出的图像如下18.sns.factorplot(x="", y="", hue="", data=df):绘制多层面板分类图。sns.factorplot(x=“day”,y=“total_bill”,hue=“smoker”,data=tips)绘制的图像如下19.sns.factorplot(x="",y="",hue="",data=df,kind=""):kind中指定要画图的类型。sns.factorplot(x=“day”,y=“total_bill”,hue=“smoker”,data=tips,kind=“bar”)sns.factorplot(x=“day”,y=“total_bill”,hue=“smoker”,col=“time”,data=tips,kind=“swarm”) sns.factorplot(x=“time”,y=“total_bill”,hue=“smoker”,col=“day”,data=tips,kind=“box”,size=5,aspect=0.8) #aspect指定横纵比20.sns.factorplot()的参数:x,y,hue 数据集变量 变量名。date 数据集 数据集名。row,col 更多分类变量进行平铺显示 变量名。col_wrap 每行的最高平铺数 整数。estimator 在每个分类中进行矢量到标量的映射 矢量。ci 置信区间 浮点数或None。n_boot 计算置信区间时使用的引导迭代次数 整数。units 采样单元的标识符,用于执行多级引导和重复测量设计 数据变量或向量数据。order, hue_order 对应排序列表 字符串列表。row_order, col_order 对应排序列表 字符串列表。kind : 可选:point 默认, bar 柱形图, count 频次, box 箱体, violin 提琴, strip 散点,swarm 分散点 size 每个面的高度(英寸) 标量 aspect 纵横比 标量 orient 方向 “v”/“h” color 颜色 matplotlib颜色 palette 调色板 seaborn颜色色板或字典 legend hue的信息面板 True/False legend_out 是否扩展图形,并将信息框绘制在中心右边 True/False share{x,y} 共享轴线 True/False。21.sns.FacetGrid():这是一个很重要的绘图函数。g = sns.FacetGrid(tips,col=“time”)g.map(plt.hist,“tip”)g = sns.FacetGrid(tips,col=“sex”,hue=“smoker”,size=5,aspect=1)g.map(plt.scatter,“total_bill”,“tip”,alpha=0.3,s=100)#alpha指定点的透明度,s指定点的大小g.add_legend()#添加图例g = sns.FacetGrid(tips,col=“day”,size=4,aspect=0.8)g.map(sns.barplot,“sex”,“total_bill”)22.sns.PairGrid():将各变量间的关系成对绘制。iris = sns.load_dataset(“iris”)g = sns.PairGrid(iris)g.map(plt.scatter)23.g.map_diag()和g.map_offdiag():绘制对角线和非对角线的图形g = sns.PairGrid(iris)g.map_diag(plt.hist) #指定对角线绘图类型g.map_offdiag(plt.scatter) #指定非对角线绘图类型g = sns.PairGrid(iris, hue=“species”)g.map_diag(plt.hist)g.map_offdiag(plt.scatter)g.add_legend()g = sns.PairGrid(iris, vars=[“sepal_length”, “sepal_width”], hue=“species”,size=3)g.map(plt.scatter)g = sns.PairGrid(tips, hue=“size”, palette=“GnBu_d”)g.map(plt.scatter, s=50, edgecolor=“white”)g.add_legend()24.sns.heatmap():绘制热度图,热度图可以很清楚看到数据的变化情况以及变化过程中的最大值和最小值。uniform_data = np.random.rand(3, 3)print (uniform_data)heatmap = sns.heatmap(uniform_data)25.向heatmap()中传入参数vmin=和vmax=。ax = sns.heatmap(uniform_data,vmin=0.2,vmax=0.5) #超过最大值都是最大值的颜色,小于最小值都是最小值的颜色26.normal_data = np.random.randn(3, 3)print (normal_data)ax = sns.heatmap(normal_data, center=0) #center指定右侧图例的中心值27.flights = sns.load_dataset(“flights”)flights = flights.pivot(“month”, “year”, “passengers”)ax = sns.heatmap(flights, annot=True,fmt=“d”,linewidth=0.5) #annot指定是否显示数据,fmt指定数据的显示格式,linewidth指定数据格子间的距离28.ax = sns.heatmap(flights, cmap=“YlGnBu”,cbar=True) #cmap指定图形颜色,cbar表示是否绘制右侧图例。 ...

January 14, 2019 · 1 min · jiezi

Python数据分析:matplotlib

matplotlib是python中的一个数据可视化库,可以做出很多数据统计图,下面来说一说matplotlib的一些基本使用。1.首先引入和数据分析有关的库。import pandas as pdimport matplotlib.pyplot as pltimport numpy as np2.然后使用pandas读入数据。3.fig = plt.figure(figsize=(m,n)):规定一个长为m,宽为n的画图区域。4.plt.xlabel(""):规定横轴名称。5.plt.ylabel(""):规定纵轴名称。6.plt.title(""):规定图像名称。7.plt.xticks(rotation=k):将x轴的各标签旋转k度。8.plt.legend(loc=“best):添加图例,loc为图例的位置,传入best系统会自动寻找最佳的图例位置。下图为绘制五条折线。fig = plt.figure(figsize=(10,7)) #规定绘图区域大小color = [“green”,“cyan”,“yellow”,“red”,“black”] #指定五条折线的颜色plt.xlabel(“Month”)plt.ylabel(“Unemployment Rate”)plt.title(“Unemployment Statics Trend,1948”)for i in range(5): x = i*12 y = (i+1)*12 subset = unrate[x:y] label = str(1948+i) plt.plot(subset[“MONTH”],subset[“VALUE”],c=color[i],label=label)plt.legend(loc=“best”) #添加图例到最佳显示位置plt.show()9.fig.add_subplot():添加子图绘制区域。fig = plt.figure(figsize=(10,8))ax1 = fig.add_subplot(2,2,1) #指定子图位置ax2 = fig.add_subplot(2,2,2)ax3 = fig.add_subplot(2,2,3)ax4 = fig.add_subplot(2,2,4)plt.show()10.ax.set_xticks():指定x轴绘图坐标。11.ax.set_xticklabels():指定x轴每个标签的名字。12.ax.set_xlabel()、ax.set_ylabel()、ax.set_title():分别指定x轴,y轴,图像名称。num_cols = [‘RT_user_norm’, ‘Metacritic_user_nom’, ‘IMDB_norm’, ‘Fandango_Ratingvalue’, ‘Fandango_Stars’]bar_heights = norm_reviews.loc[0,num_cols].valuesprint(bar_heights)bar_positions = np.arange(5)print(bar_positions)tick_positions = range(0,5)fig,ax = plt.subplots(figsize=(10,8)) #用ax画图,fig控制区域plt.bar(bar_positions,bar_heights,0.6) #0.6表示所画条形图每个图形的宽度ax.set_xticks(tick_positions)ax.set_xticklabels(num_cols,rotation=45)ax.set_xlabel(“Rating Source”)ax.set_ylabel(“Average Rating”)ax.set_title(“Average User Rating For Avengers:Age of Ultron(2015)")plt.show()13.如果要让条形图横着画,只需将绘制条形图的命令plt.bar()改为plt.barh(),如果有需要再重新指定一下自己所需的横纵坐标即可。14.plt.scatter():绘制散点图。15.plt.hist(x,bins=k,range=(m,n)):绘制直方图,bins指定绘制出数据的条数,range()指定直方图横坐标的取值范围。16.ax.boxplot():绘制盒形图,盒形图可以直观的观察出数据的离群点,也就是不符合规范的数据,具体到seaborn库时会讲。 ...

January 14, 2019 · 1 min · jiezi

Python数据分析:numpy常用函数

numpy是python中一个与科学计算有关的库,本文将介绍一些常用的numpy函数,使用numpy之前需要先引入,输入import numpy as np,我们一般将numpy简化为np。1.np.arange(n):生成0至n-1个整数。2.a.reshape(m,n):将a重新定义为一个m行n列的矩阵。3.a.shape:打印a的行和列。4.a.ndim:求a的维度。5.a.size:输出a中的元素个数。6.np.zeros((m,n)):生成m行n列的零矩阵,应当注意的是,函数中要传入一个元组。此时生成的矩阵0后面有一个小数点,因为系统默认数据类型为浮点型,要想获得整数类型,我们应预先指定好数据类型。7.np.ones((k,m,n),dtype=np.int32):生成k个m行n列的单位矩阵,且矩阵中的数据类型为整数型。8.np.arange(m,n,k):生成m到n的以k为步长切片的数据。9.np.linspace(m,n,k):在m到n的数据中按等间距取k个值。10.若A、B为同维矩阵,则A*B返回的是A和B矩阵对应位置相乘得到的结果,A.dot(B)或np.dot(A,B)返回的才是矩阵乘法所得的结果。11.np.exp(A)或np.sqrt(B):分别得到e的B次幂和矩阵B中每个数开方所得到的结果。12.np.floor():向下取整。13.a.ravel():将矩阵a重新拉伸成一个向量,拉伸后可以重新reshape成一个新矩阵。14.a.T:求a的转置矩阵。15.a.reshape(n,-1)或a.reshape(-1,n):确定一个矩阵的行(列)后,相应的列(行)也直接被确定,因此输入-1即可。16.np.hstack((a,b)):将矩阵a和b横向拼接。17.np.vstack((a,b)):将矩阵a和b纵向拼接。18.np.hsplit(a,n):将矩阵a横向切为n份。19.np.hsplit(a,(m,n)):在a的索引为m和n的空隙横向切开。20.np.vsplit(a,n):将矩阵a纵向切为n份。21.np.hsplit(a,(m,n)):在a的索引为m和n的空隙纵向切开。22.矩阵的复制:b = a:此时得到的b与a的地址是完全相同的,也就是a,b只是同一个矩阵的不同名称,对其中任意一个矩阵操作都会引起另一个矩阵相同的变化。b = a.view():此时得到的b与a的地址不同,但是对b的操作会改变a。b = a.copy():此时得到的是两个完全独立的矩阵。23.b = np.tile(a,(m,n)):将矩阵a的行数扩大m倍,列数扩大n倍。24.np.sort(a,axis=k):将矩阵a在k维排序。25.np.argsort(a):返回将a升序排列后的索引值(默认排列方式为升序)。

January 13, 2019 · 1 min · jiezi

Python数据分析:pandas常用函数

pandas是python中的 一个数据处理库,同样在使用的时候我们要先输入import pandas as pd引入。1.df = pd.read_csv(“文件路径”):这是读取csv文件的方法,如果要读取excel或其他文档,都有相应的read函数。2.df.dtypes:如果在文件中有字符型数据返回的是object。3.df.head(n):将前n行数据显示出来,如果不传入参数则显示前5行数据。4.df.tail(n):将后n行数据显示出来,如果不传入参数则显示后5行数据。5.df.columns:以列表的形式显示数据表的列名。6.df.shape:以元组的形式显示表中数据的行数和列数。7.df.loc[n]:返回索引值为n的行。8.df.loc[m][n]:返回索引值为m行n列的数据。9.df.loc[m:n]:返回索引值为m到n的行。10.df.loc[[m,n,k]]:返回索引值分别为m,n,k的行。11.df[“str”]:返回列名为str的这一列。12.df.columns.tolist():将列名做成列表。13.df[“str”]*df[“str”]:两列维度相同,则两列的对应位置相乘。14.df.sort_values(“str”,inplace=True,ascending=False):将str一列按照降序排列,且得到的数据替换原数据。inplace表示是否用排序后的数据替代原数据,默认为False,也就是不替换。ascending表示排序的顺序,默认为True,也就是按照升序排列。15.judge = pd.isnull(df[“str”]):返回bool型值,str这一列的数据是空值返回True,不是空值返回False。16.a[“judge”]:返回judge为True,也就是缺失的数据,这时再调用len()函数即可求得缺失数据的个数。17.df.pivot_table(index=“a”,values=“b”,aggfunc=np.mean):这是一个很重要的函数,将b求平均值,按照a的类别进行分类,第三个参数默认为求平均值。18.df.loc[n,“str”]:定位到第n行,列名为str处的数据。19.sort_res.reset_index(drop=True):将排序后的数据的编号也重新排列,drop指是否丢弃原数据。运行后的结果与14的图对比可以发现,编号已经重新排列了。20.df.apply():这是在pandas中的自定义函数的使用方法,括号中传入函数名。

January 13, 2019 · 1 min · jiezi

pycharm+docker的配置(含jupyter notebook的镜像run方法)

背景搜了许多,都是较为陈旧的,目前docker的mac桌面版支持很快速的设置,不用找任何帮助前提假设你是想使用docker镜像,来避免python环境的复杂,节约时间的,来吧因为我最近开始研究ai,所以技术背景是aidocker pull ufoym/deepo:all-py36-jupyter-cpu4个多G申请pycharm专业版0.0.0.0 account.jetbrains.com ,添加到hostspycharm,嗯,Activate codeG91XMO9AVI-eyJsaWNlbnNlSWQiOiJHOTFYTU85QVZJIiwibGljZW5zZWVOYW1lIjoic29uZyB3YW5nIiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMTktMDMtMDYifSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMTktMDMtMDYifSx7ImNvZGUiOiJXUyIsInBhaWRVcFRvIjoiMjAxOS0wMy0wNiJ9LHsiY29kZSI6IlJEIiwicGFpZFVwVG8iOiIyMDE5LTAzLTA2In0seyJjb2RlIjoiUkMiLCJwYWlkVXBUbyI6IjIwMTktMDMtMDYifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAxOS0wMy0wNiJ9LHsiY29kZSI6IkRCIiwicGFpZFVwVG8iOiIyMDE5LTAzLTA2In0seyJjb2RlIjoiUk0iLCJwYWlkVXBUbyI6IjIwMTktMDMtMDYifSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjAxOS0wMy0wNiJ9LHsiY29kZSI6IkFDIiwicGFpZFVwVG8iOiIyMDE5LTAzLTA2In0seyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDE5LTAzLTA2In0seyJjb2RlIjoiR08iLCJwYWlkVXBUbyI6IjIwMTktMDMtMDYifSx7ImNvZGUiOiJQUyIsInBhaWRVcFRvIjoiMjAxOS0wMy0wNiJ9LHsiY29kZSI6IkNMIiwicGFpZFVwVG8iOiIyMDE5LTAzLTA2In0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTktMDMtMDYifSx7ImNvZGUiOiJSU1UiLCJwYWlkVXBUbyI6IjIwMTktMDMtMDYifV0sImhhc2giOiI4MzE3MzUwLzAiLCJncmFjZVBlcmlvZERheXMiOjAsImF1dG9Qcm9sb25nYXRlZCI6ZmFsc2UsImlzQXV0b1Byb2xvbmdhdGVkIjpmYWxzZX0=-ko0/VqmEDlI6vfJX3gznVcqyf+mSlcQmXyavBbvCGT2ygKux7rS0kVhHA/2Skf7lMtHFIA3rvBwXRka/sy5LEJZocQtBsxT6dE+SOX34dxsUQpHsfrkc7ZwqD3Mg2we8mYl//TwGjtvAaXpxrC3z6qzxMvRRxdEjHsU5fTrdI1ondX/MOSKrSUAocf4Dx7Cpy+MBxL0xAcLOU5GP4wB8GJn/aPoxYqQxqXQc8BWFjUhZGnm21bc+5/WYqd08PH1QXTQLrly2Snt9yFboPfiGESx6fyVYcfA269syufzklfC1sCcViJjCna5V55rheSjDEjKOIRpRR/mKtOo8VdqVOA==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog==设置专业版只有专业版有docker的remote调试,ce版本没有只需要进入project进行设置,如下图可以采用另外一种方法:社区版在本地做实验,和学习,足够了docker镜像采用有jupyterbook的images,全搞定docker pull ufoym/deepo:all-py36-jupyter-cpu或者折扣申请https://www.jetbrains.com/pyc…也可以采用的最简便的:jupyter book进入pycharm,引用numpy,如图,remote包ok啦jupyter notebook(使用docker)ZBMAC-C02N753CG:test jiaohuifeng$ ./jupyter.sh [I 08:26:23.100 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret[W 08:26:23.537 NotebookApp] All authentication is disabled. Anyone who can connect to this server will be able to run code.[I 08:26:23.552 NotebookApp] Serving notebooks from local directory: /root[I 08:26:23.552 NotebookApp] 0 active kernels[I 08:26:23.552 NotebookApp] The Jupyter Notebook is running at:[I 08:26:23.553 NotebookApp] http://0.0.0.0:8888/[I 08:26:23.553 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).jupyter.sh docker run -it -v /Users/jiaohuifeng/test:/sdata -p 8888:8888 –ipc=host ufoym/deepo:all-py36-jupyter-cpu jupyter notebook –no-browser –ip=0.0.0.0 –allow-root –NotebookApp.token= –notebook-dir=’/root' ...

December 25, 2018 · 1 min · jiezi