【数据分析专栏之Python篇】二、Jupyer Notebook安装配置及基本使用

文章目录

  • 前言
    • 一、Jupter Notebook是什么
      • 1.1 简介
      • 1.2 组成部分
      • 1.3 Jupyter Notebook的主要特点
    • 二、为什么使用Jupyter Notebook?
    • 三、安装
    • 四、Jupyter Notebok配置
      • 4.1 基本配置
      • 4.2 配置开机自启与后台运行
      • 4.3 开启代码自动补全
    • 五、两种键盘输入模式
      • 5.1 编辑模式
      • 5.2 命令模式
      • 5.3 其他常用快捷键
    • 六、魔法命令
      • 6.1 查看帮助文档
      • 6.2 其他魔法命令
    • 七、结语
    • 参考

前言

在上一篇中我们已经安装好了Anaconda,Anaconda本身自带Jupter Notebook。本期我们来学习使用 Jupyter Notebook。

一、Jupter Notebook是什么

1.1 简介

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍

Jupyter Notebook是一个开源 Web 应用程序,允许您创建和共享包含实时代码、方程式、可视化和叙述文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等等。支持python、C、java、Go等多种编程语言。同时支持markdown编辑器。

简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。

image-20230725133039505

Jupyter Notebook 已迅速成为数据分析,机器学习的必备工具。因为它可以让数据分析师集中精力向用户解释整个分析过程。

1.2 组成部分

① 网页应用

网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具。

② 文档

即Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。

这些文档是保存为后缀名为.ipynbJSON格式文件,不仅便于版本控制,也方便与他人共享。

此外,文档还可以导出为:HTML、LaTeX、PDF等格式。

1.3 Jupyter Notebook的主要特点

① 编程时具有语法高亮缩进tab补全的功能。

② 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。

③ 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。

④ 对代码编写说明文档或语句时,支持Markdown语法。

⑤ 支持使用LaTeX编写数学性说明。

二、为什么使用Jupyter Notebook?

  • 传统软件开发:工程/目标明确

    需求分析,设计架构,开发模块,测试

  • 数据挖掘:艺术/目标不明确

    目的是具体的洞察目标,而不是机械的完成任务

    通过执行代码来理解问题

    迭代式地改进代码来改进解决方法

    实时运行的代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来讲述故事

    对比Jupyter Notebook和Pycharm

  • 画图和数据展示便捷,可以实时查看结果

总结:Jupyter Notebook 相比 Pycharm 在画图和数据展示方面更有优势。

三、安装

在上一篇中我们已经安装好了Anaconda,Anaconda本身自带Jupter Notebook。具体安装参考上篇。

四、Jupyter Notebok配置

4.1 基本配置

1、设置登录密码,获取sha1密码

# 首先进入python命令行
python
# 在命令行下输入
from notebook.auth import passwd;passwd()
# 按照提示输入密码,这是jupyter的登陆密码

记住设置的密码, 非常重要, 比如设置了密码为:123456。

记住sha1, 非常重要, 'sha1:XXXX:XXXX’全部复制下来, 包括引号。

2、修改jupyter配置文件

生成配置文件 jupyter_notebook_config.py,windows在 C:\Users\username\.jupyter下,username为你电脑用户名。如果没有这个文件,可以使用下面命令生成。

jupyter notebook --generate-config

编辑 jupyter_notebook_config.py,在开头加入以下代码

#设置可访问的ip为任意。
c.NotebookApp.ip = '*'  #某些版本为c.NotebookApp.ip = '0.0.0.0',都表示任意ip

#不打开浏览器。推荐谷歌,火狐等访问登录jupyter
c.NotebookApp.open_browser = False

#这里填上面设置密码时生成的hash密码
c.NotebookApp.password = 'sha1:XXXX:XXXX'

#允许使用root用户开启jupyter,windows忽略这条
#c.NotebookApp.allow_remote_access = True

#设置登陆端口,一般为8888
c.NotebookApp.port = 8888

#设置jupyter-notebook的工作空间,注意linux与windows的路径表示方式
c.NotebookApp.notebook_dir = 'E:\workspace\pycharm\jupyter'

## 其他配置项根据自己需要修改

3、启动

① 点击Jupyter Notebook打开

image-20230725125723658

② 在终端或者命令行输入,终端或者命令行不要关闭,在浏览器地址栏输入http://localhost:8888或者http://127.0.0.1:8888

jupyter-notebook

出现jupyter登陆页面则初步安装成功,输入设置的登陆密码,新建一个 Python 文件,即.ipynb文件

print("Hello Jupyter") # 按shift+enter运行

正常输出说明安装成功

4.2 配置开机自启与后台运行

① 在非系统目录下新建文本文档,修改文件名为jupyter.bat,需要设置文件显示后缀名。用记事本打开,输入以下代码:

@echo off
cd C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
cd D:\PF\Anaconda3\Scripts
D:\PF\Anaconda3\Scripts\jupyter.exe notebook --no-browser --port=8888

其中,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUpD:\PF\Anaconda3\ScriptsD:\PF\Anaconda3\Scripts\jupyter.exe 根据自己系统和安装目录进行替换。

② 双击jupyter.bat 测试能否正常开启jupyter

③ 移动jupyter.bat到windows启动文件夹

  • win7 :C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,admin为自己电脑用户名,需要根据自己电脑实际情况手动修改。
  • win10:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

4.3 开启代码自动补全

开启代码自动补全,可以提高代码的编写效率。重点推荐配置

1.使用pip安装jupyter拓展包,本人选择在cmd中安装

pip install jupyter_contrib_nbextensions

或者

conda install jupyter_contrib_nbextensions

2.配置 nbextension,前提是先关闭jupyter notebook

jupyter contrib nbextension install --user --skip-running-check

3.点击Jupyter图标,在Jupyter Notebook里开启功能

image-20230725105907224

4.然后打开hinterland功能

image-20230725105959188

5.最后就可以使用代码补全了

image-20230725110055382

五、两种键盘输入模式

Jupyter Notebook 有两种键盘输入模式,即命令模式和编辑模式,这与 Vim 有些类似。在编辑模式下,可以往单元中键入代码或文本,此时单元格被绿色的框线包围,且命令模式下的快捷键不生效。在命令模式下,可以用快捷键命令运行单元格,移动单元格,切换单元格编辑状态等等,此时的单元格被灰色的框线包围,且编辑模式下的快捷键不生效。

从命令模式进入编辑模式需按 Enter 键,从编辑模式切换到命令模式需按 Esc 键。

5.1 编辑模式

当条框单元为绿色时,此时处于编辑模式。编辑模式下我们主要记住代码补全、代码提示和运行单元的快捷键。

快捷键作用
Tab代码补全或缩进
Shift + Tab查看函数参数,光标要在括号中
Shift + Enter运行本单元,选中下一单元
Ctrl + Enter运行本单元
Alt + Enter运行本单元并在下方插入一个单元
esc、点击输入框前面的 ln [ ]退出编辑模式

5.2 命令模式

当输入框为蓝色时,此时处于命令模式。我们主要记住单元格增删和单元格状态转换。

快捷键作用
y单元格进入代码模式
m单元格进入 markdown 格式
A上方插入新单元格
B下方插入新单元格
DD删除选中的单元格
enter进入编辑模式

此外,还有三种运行代码模式快捷键,和编辑模式下相同,这里不再例举。

5.3 其他常用快捷键

  • ctrl+a: 全选
  • ctrl+z: 撤销
  • ctrl+c: 复制
  • ctrl+v: 粘贴
  • 保存ctrl+s:
  • ctrl+/:注释或者取消注释
  • shift+1l: 选中多行

六、魔法命令

Jupyter Notebook 中有许多魔法命令,魔法命令提供了一种简便、快捷的方式来执行常见任务,因此被称为“魔法”。

6.1 查看帮助文档

用法作用
?查看对变量、函数等的描述
??查看更细致的描述

请看下面的代码示例:

len?

返回:

Signature: len(obj, /)
Docstring: Return the number of items in a container.
Type:      builtin_function_or_method

下面定义一个函数:

def get_one():
    """
    return the number 1
    """
    return 1

如果是一个问号:

get_one?

返回

Signature: get_one()
Docstring: return the number 1
File:      e:\temp\ipykernel_1692\2371390829.py
Type:      function
如果是两个问号:
get_one??

返回

Signature: get_one()
Source:   
def get_one():
    """
    return the number 1
    """
    return 1
File:      e:\temp\ipykernel_1692\2371390829.py
Type:      function

看得出来,两个问号给予的描述是更细致的,毕竟疑问号都多了一个嘛。

6.2 其他魔法命令

魔法命令基本上都是以 % 开头的,用于实现一些在常规Python语法中无法实现或不容易实现的功能,使得开发者能够轻松地执行一些特定任务,从而让整个交互式计算环境显得更加“神奇”和高效。

魔法命令作用
%run运行后导入自定义文件,运行完后,该文件内的函数、类等都可以直接使用
%timeit统计运行时间, 用于测试一行代码性能,一般是耗时较短的
%time统计运行时间,用于测试代码性能,一般是耗时较长的
%who查看当前会话的所有变量与函数名称
%whos显示变量类型和值
%who_ls以列表形式显示变量和函数名
pip install用于安装包
lsmagic查看所有魔法命令
?查看魔法命令的帮助文档

现有一个名为 test.py 文件,包含如下内容:

def display():
   """
   show the number
   """
   print('hello')
def add(x,y):
    return x+y
display()

下面演示魔法命令的使用,因为代码较为简短,因此直接以图片形式展示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iglTQuH1-1690327331492)(C:\Users\崔羽飞\AppData\Roaming\Typora\typora-user-images\image-20230725111812375.png)]

七、结语

本期跟大家分享的内容就到此结束了!希望本文的内容能够帮助到你。

参考

Ubuntu与windows下配置安装jupyter-notebook以及其开机自启、后台运行与远程访问

windows环境 jupyter notebook 自启动 局域网访问

jupyter 的代码自动补全

Python实现读取txt文件并转换为excel的方法示例

Jupyter Notebook介绍、安装及使用教程

Jupyter Notebook介绍及使用操作

Jupyter Notebook 快捷键使用指南

Jupyter-notebook 常用魔法命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/49652.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智安网络|常见的网络安全陷阱:你是否掉入了其中?

在数字化时代,网络安全成为了一个重要的议题。随着我们越来越多地在互联网上进行各种活动,诸如在线银行交易、社交媒体分享和在线购物等,我们的个人信息也更容易受到攻击和滥用。虽然有许多关于网络安全的指导和建议,但仍然有许多…

深度学习实战44-Keras框架下实现高中数学题目的智能分类功能应用

大家好,我是微学AI ,今天给大家介绍一下深度学习实战44-Keras框架实现高中数学题目的智能分类功能应用,该功能是基于人工智能技术的创新应用,通过对数学题目进行智能分类,提供个性化的学习辅助和教学支持。该功能的实现可以通过以下步骤:首先,采集大量的高中数学题目数据…

练习时长两年半的双机热备

1.双机热备技术产生的背景 传统的组网方式如下左图所示,内部用户和外部用户的交互报文全部通过防火墙A。如果防火墙A出现故障,内部网络中所有以防火墙A作为默认网关的主机与外部网络之间的通讯将中断,通讯可靠性无法保证。防火墙作为安全设备…

LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

1、问题: https://github.com/CocoaPods/Specs.git/:LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443的解决办法 出现这个问题的原因基本都是代理的问题: 只需要加上代理就可以了: #http代理 git conf…

机器学习03-数据理解(小白快速理解分析Pima Indians数据集)

机器学习数据理解是指对数据集进行详细的分析和探索,以了解数据的结构、特征、分布和质量。数据理解是进行机器学习项目的重要第一步,它有助于我们对数据的基本属性有全面的了解,并为后续的数据预处理、特征工程和模型选择提供指导。 数据理解…

Rman配置参数详解

using target database control file instead of recovery catalog指的是使用目标数据库控制文件代替恢复目录 1、CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default 设置rman备份过期条件:是用来决定那些备份不再需要了,它一共有三种可选项&…

Pytorch(一)

目录 一、基本操作 二、自动求导机制 三、线性回归DEMO 3.1模型的读取与保存 3.2利用GPU训练时 四、常见的Tensor形式 五、Hub模块 一、基本操作 操作代码如下: import torch import numpy as np#创建一个矩阵 x1 torch.empty(5,3)# 随机值 x2 torch.rand(5,3)# 初始化…

合作客户销售数据可视化分析

以一个案例进行实际分析: 数据来源:【地区数据分析】 以此数据来制作报表。 技巧一:词云图 以城市名称来显示合同金额的分布,合同金额越大,则城市文字显示越大。 技巧二:饼图 下面制定一个,合…

力扣 738. 单调递增的数字

题目来源:https://leetcode.cn/problems/monotone-increasing-digits/description/ C题解:像1234就可以直接返回1234,像120需要从个位往高位遍历,2比0大,那么2减一成为1,0变成9,变成119。 clas…

【图像分类】CNN + Transformer 结合系列.1

介绍三篇结合使用CNNTransformer进行学习的论文:CvT(ICCV2021),Mobile-Former(CVPR2022),SegNetr(arXiv2307). CvT: Introducing Convolutions to Vision Transformers, …

SpringMVC 拦截器详解

目录 一、介绍 二、过滤器与拦截器的简单对比 三、自定义拦截器 四、注册拦截器 五、案例演示-登录拦截器 5.1 自定义拦截器 5.2 注册拦截器 编写的初衷是为了自己巩固复习,如果能帮到你将是我的荣幸❣️ 一、介绍 SpringMVC提供的拦截器类似于JavaWeb中的过…

C++网络编程 TCP套接字基础知识,利用TCP套接字实现客户端-服务端通信

1. TCP 套接字编程流程 1.1 概念 流式套接字编程针对TCP协议通信,即是面向对象的通信,分为服务端和客户端两部分。 1.2 服务端编程流程: 1)加载套接字库(使用函数WSAStartup()),创建套接字&…

MySQL Windows版本下载及安装时默认路径的修改

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、MySQL 下载二、默认路径修改1、安装前准备【非常重要】2、启动安装程序总结1、MySQL下载2、MySQL默认路径修改前言 MySQL 被Oracle收购后,各种操作规范及约束也相应的跟着来了,这不,只…

【前端实习评审】对小说详情模块更新的后端接口压力流程进行了人群优化

大家好,本篇文章分享一下【校招VIP】免费商业项目“推推”第一期书籍详情模块 前端同学的开发文档周最佳作品。该同学来自安徽科技学院土木工程专业。本项目亮点难点: 1.热门书籍在更新点的访问压力; 2.书籍更新通知的及时性和有效性&#xf…

重学C++系列之友元

一、什么是友元 在C中,为了提高程序的效率,在一些场景下,引入友元,但同时类的封装性就会被破坏。 二、怎么实现友元 友元关键字(friend) // 在类中声明另一个类的成员函数来做为友元函数 // 以关键字&…

Centos部署Springboot项目详解

准备启动jar包,app.jar放入指定目录。 一、命令启动 1、启动命令 java -jar app.jar 2、后台运行 nohup java -jar app.jar >/dev/null 2>&1 & 加入配置参数命令 nohup java -Xms512M -Xmx512M -jar app.jar --server.port9080 spring.profiles…

基于鲸鱼优化算法的5G信道估计(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑…

Unity 工具之 NuGetForUnity 包管理器,方便在 Unity 中的进行包管理的简单使用

Unity 工具之 NuGetForUnity 包管理器,方便在 Unity 中的进行包管理的简单使用 目录 Unity 工具之 NuGetForUnity 包管理器,方便在 Unity 中的进行包管理的简单使用 一、简单介绍 二、NuGetForUnity 的下载导入 Unity 三、NuGetForUnity 在 Unity 的…

Jetbrains idea 代码关闭 注释自动渲染 导致换行不生效

方法1 关闭注释自动渲染 取消勾选 方法2 结尾使用 <br> 强制换行

vector使用

文章目录 vector的介绍vector的使用vector的初始化vector iterator迭代器的使用vector 空间增长问题vector的增删改查 迭代器失效总结 vector的介绍 文档介绍 vector是表示可变大小数组的序列容器。就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。也就是意味着…