【Python数据分析及环境搭建】:教程详解1(第23天)

系列文章目录

  1. Python进行数据分析的优势
  2. 常用Python数据分析开源库介绍
  3. 启动Jupyter服务
  4. Jupyter Notebook的使用

文章目录

  • 系列文章目录
  • 前言
    • 学习目标
    • 1. Python进行数据分析的优势
    • 2. 常用Python数据分析开源库介绍
      • 2.1 NumPy
      • 2.2 Pandas
      • 2.3 Matplotlib
      • 2.4 Seaborn
      • 2.5 Sklearn
      • 2.6 Jupyter Notebook
    • 3 启动Jupyter服务
      • 3.1 设置jupyter服务密码
      • 3.2 生成Jupyter配置文件并配置
      • 3.3 启动jupyter
    • 4 Jupyter Notebook的使用
      • 4.1 Jupyter Notebook的界面
      • 4.2 Jupyter Notebook常用快捷键
      • 4.3 Jupyter Notebook中使用Markdown
    • 总结


前言

本教程详解了Python做数据分析的优势,Python数据分析常用开源库,如何启动jupyter notebook,如何使用jupyter notebook。

学习目标

  • 了解Python做数据分析的优势
  • 知道Python数据分析常用开源库
  • 知道如何启动jupyter notebook
  • 知道如何使用jupyter notebook

1. Python进行数据分析的优势

在这里插入图片描述

  • Python作为当下最为流行的编程语言之一,可以独立完成数据分析的各种任务

    • 功能强大,在数据分析领域里有海量开源库,并持续更新

    • 是当下热点——机器学习/深度学习 领域最热门的编程语言

    • 除数据分析领域外,在爬虫,Web开发等领域均有应用

  • 与Excel,PowerBI,Tableau等软件比较

    • Excel有百万行数据限制,PowerBI ,Tableau在处理大数据的时候速度相对较慢

    • Excel,Power BI 和Tableau 需要付费购买授权

    • Python作为热门编程语言,功能远比Excel,PowerBI,Tableau等软件强大

    • Python跨平台,Windows,MacOS,Linux都可以运行

  • 与R语言比较

    • Python在处理海量数据的时候比R语言效率更高
    • Python的工程化能力更强,应用领域更广泛,R专注于统计与数据分析领域
    • Python在非结构化数据(文本,音视频,图像)和深度学习领域比R更具有优势
    • 在数据分析相关开源社区,python相关的内容远多于R语言

2. 常用Python数据分析开源库介绍

2.1 NumPy

  • NumPy(Numerical Python) 是Python数据分析必不可少的第三方库,NumPy的出现一定程度上解决了Python运算性能不佳的问题,同时提供了更加精确的数据类型,使其具备了构造复杂数据类型的能力。
  • 是一个运行速度非常快的数学库,主要用于数组计算,包含:
    • 高性能科学计算和数据分析的基础包
    • ndarray,多维数组,具有矢量(向量)运算能力,快速、节省空间
    • 矩阵运算,无需循环,可完成类似Matlab(商业数学软件)中的矢量运算
    • 用于读写磁盘数据的工具以及用于操作内存映射文件的工具

2.2 Pandas

  • Pandas是一个强大的分析结构化数据的工具集,Pandas丰富的API能够更加灵活、快速的对数据进行清洗处理以及分析

  • Pandas在数据处理上具有独特的优势:

    • 底层是基于NumPy构建的,所以运行速度特别的快
    • 有专门的处理缺失数据的API
    • 具有强大而灵活的分组、聚合、转换功能
  • Pandas利器之==Series==

    • Series是一种类似于一维数据的数据结构
    • 是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即行索引)组成
    • 仅由一组数据也可产生简单的Series对象
  • Pandas利器之==DataFrame==

    • DataFrame是一种表格型的数据结构,既有行索引也有列索引,可以简单的把DataFrame理解为一张数据表

    • 包含有一组或多组有序的列(Series),每列可以是不同的值类型(数值、字符串、布尔型等)

2.3 Matplotlib

  • Matplotlib 是一个功能强大的数据可视化开源Python库
  • Python中使用最多的图形绘图库
  • 可以创建静态,动态和交互式的图表

2.4 Seaborn

  • Seaborn是一个Python数据可视化开源库
  • 建立在matplotlib之上,并集成了pandas的数据结构
  • Seaborn通过更简洁的API来绘制信息更丰富,更具吸引力的图像
  • 面向数据集的API,与Pandas配合使用起来比直接使用Matplotlib更方便

2.5 Sklearn

  • scikit-learn 是基于 Python 语言的机器学习工具
    • 简单高效的数据挖掘和数据分析工具
    • 可供大家在各种环境中重复使用
    • 建立在 NumPy ,SciPy(Scientific Python) 和 matplotlib 上

2.6 Jupyter Notebook

  • Jupyter Notebook是一个开源Web应用程序,使用Jupyter Notebook可以创建和共享
    • 代码
    • 数学公式
    • 可视化图表
    • 笔记文档
  • Jupyter Notebook用途
    • 数据清理和转换
    • 统计分析
    • 数据可视化
    • 机器学习等
  • Jupyter Notebook是数据分析学习和开发的首选开发环境

3 启动Jupyter服务

3.1 设置jupyter服务密码

  • 进入python的命令终端, 在linux终端执行 python 命令

    在这里插入图片描述

  • 输入以下代码设置密码, 记录生成的密码字符串

    from notebook.auth import passwd
    passwd() # 设置自己的密码,然后两次输入确认生成加密字符串, 密码设置为123456即可
    

    在这里插入图片描述

3.2 生成Jupyter配置文件并配置

  • 在linux终端执行以下命令, 生成jupyter_notebook_config.py配置文件

    jupyter notebook --generate-config
    

    在这里插入图片描述

  • 打开jupyter_notebook_config.py配置文件, 在最后添加以下内容即可

    # 打开文件
    vim ~/.jupyter/jupyter_notebook_config.py
    # 添加以下内容
    c.NotebookApp.allow_remote_access = True  #允许远程访问
    c.NotebookApp.allow_root = True          #允许root访问
    c.NotebookApp.ip='*'                     # 所有ip皆可访问  
    c.NotebookApp.password = '上面复制的那个字符串'    
    c.NotebookApp.open_browser = False       # 禁止自动打开浏览器  
    c.NotebookApp.port =8888                 # 端口
    c.NotebookApp.notebook_dir = '/' 
    

    在这里插入图片描述

3.3 启动jupyter

  • linux终端输入 jupyter notebook 命令启动

    jupyter notebook
    

    在这里插入图片描述

  • 在本地浏览器中输入 192.168.88.100:8888, 进入jupyter的web界面
    在这里插入图片描述

    在这里插入图片描述

  • 注意: 不要关闭jupyter服务

    在这里插入图片描述

4 Jupyter Notebook的使用

4.1 Jupyter Notebook的界面

  • 新建notebook文档

    注意:Jupyter Notebook 文档的扩展名为.ipynb,与我们正常熟知的.py后缀不同

    在这里插入图片描述

  • 新建文件之后会打开Notebook界面

    在这里插入图片描述

  • 菜单栏中相关按钮功能介绍:

    Jupyter Notebook的代码的输入框和输出显示的结果都称之为cell,cell行号前的 * ,表示代码正在运行

在这里插入图片描述

4.2 Jupyter Notebook常用快捷键

Jupyter Notebook中分为两种模式:命令模式和编辑模式

  • 两种模式通用快捷键

    • Shift+Enter,执行本单元代码,并跳转到下一单元
    • Ctrl+Enter,执行本单元代码,留在本单元
  • 按ESC进入命令模式

    在这里插入图片描述

    • Y,cell切换到Code模式
    • M,cell切换到Markdown模式
    • A,在当前cell的上面添加cell
    • B,在当前cell的下面添加cell
    • 双击D:删除当前cell
  • 编辑模式:按Enter进入,或鼠标点击代码编辑框体的输入区域

    在这里插入图片描述

    • 撤销:Ctrl+Z(Mac:CMD+Z)
    • 补全代码:变量、方法后跟Tab键
    • 为一行或多行代码添加/取消注释:Ctrl+/(Mac:CMD+/)

4.3 Jupyter Notebook中使用Markdown

  • 在命令模式中,按M即可进入到Markdown编辑模式

  • 使用Markdown语法可以在代码间穿插格式化的文本作为说明文字或笔记

  • Markdown基本语法:标题和缩进

    在这里插入图片描述

  • 效果如下图所示

在这里插入图片描述

总结

  • 了解Python做数据分析的优势

    • Python可以独立高效的完成数据分析相关的全部工作
  • 知道Python数据分析常用开源库

    • Pandas
    • Numpy
    • Matplotlib
    • Seaborn
    • sklearn
  • 会启动和使用jupyter notebook

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

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

相关文章

【PB案例学习笔记】-26制作一个带浮动图标的工具栏

写在前面 这是PB案例学习笔记系列文章的第26篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…

怎样使用js技术实现Chrome投屏功能?

在Web前端技术中,直接控制浏览器窗口或标签页从主屏投屏到副屏(如PPT的演讲者模式)并不简单,而且直接控制浏览器窗口从主屏投屏到副屏的功能超出了Web标准的范畴,并且涉及到用户系统级别的设置和权限,因此不…

正确认识手机NFC,安全无风险

在数字化生活日益普及的今天,NFC(近场通信)技术以其独特的便捷性和高效性,逐渐成为了我们日常生活中不可或缺的一部分。然而,面对新技术的崛起,总有一些用户对于其安全性心存疑虑,尤其是关于“N…

(一)Docker基本介绍

部署项目的发展 传统部署适合需要最大性能和可靠性的场景,但在资源利用和管理方面有显著劣势。虚拟化部署提供了良好的资源利用率和隔离性,适用于需要灵活扩展和多租户环境的场景,但存在性能开销。容器部署在轻量级、可移植性和资源利用率方面…

JVM线上监控环境搭建Grafana+Prometheus+Micrometer

架构图 一: SpringBoot自带监控Actuator SpringBoot自带监控功能Actuator&#xff0c;可以帮助实现对程序内部运行情况监控&#xff0c;比如监控内存状况、CPU、Bean加载情况、配置属性、日志信息、线程情况等。 使用步骤&#xff1a; 1. 导入依赖坐标 <dependency><…

Omni3D目标检测

Omni3D是一个针对现实场景中的3D目标检测而构建的大型基准和模型体系。该项目旨在推动从单一图像中识别3D场景和物体的能力&#xff0c;这对于计算机视觉领域而言是一个长期的研究目标&#xff0c;并且在机器人、增强现实&#xff08;AR&#xff09;、虚拟现实&#xff08;VR&a…

7.1.SQL注入-基于函数报错的方式来利用updatexml()

基于函数报错的方式来进行利用-字符型&#xff08;本页updatexml()&#xff09; 前提条件是后台数据库没有屏蔽数据库语法报错信息 updatexml()方法详解 注释&#xff1a; 第一个参数&#xff0c;意思就是xml文档的名称 第二个参数&#xff0c;意思就是定位到xml文档中指定…

PriorityQueue底层你了解多少?(带你彻底掌握优先级队列)

1. 概念 队列是一种先进先出(FIFO)的数据结构&#xff0c;但有些情况下&#xff0c;操作的数据可能带有优先级&#xff0c;一般出队列时&#xff0c;可能需要优先级高的元素先出队列&#xff0c;该中场景下&#xff0c;使用队列显然不合适&#xff0c;比如:在手机上玩游戏的时…

[图解]SysML和EA建模住宅安全系统-05-参数图

1 00:00:01,140 --> 00:00:03,060 这是实数没错&#xff0c;这是分钟 2 00:00:03,750 --> 00:00:07,490 但是你在这里选&#xff0c;选不了的 3 00:00:07,500 --> 00:00:09,930 因为它这里不能够有那个 4 00:00:11,990 --> 00:00:13,850 但是我们前面这里 5 00…

D - Intersecting Intervals(abc355)

题意&#xff1a;有n个区间&#xff0c;找出俩俩区间相交的个数 分析&#xff1a; 设初始俩俩相交&#xff0c;找出不相交的&#xff08;不同区间l>r)&#xff0c;减去即可 #include<bits/stdc.h> using namespace std; typedef long long ll; int main(){ ios:…

大力出奇迹:大语言模型的崛起与挑战

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;特别是在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;大语言模型&#xff08;LLM&#xff09;的出现与应用&#xff0c;彻底改变了我们与机器互动的方式。本文将探讨ChatGPT等大语言模型的定义、…

Hive-存储-文件格式

一、前言 数据存储是Hive的基础&#xff0c;选择合适的底层数据存储格式&#xff0c;可以在不改变Hql的前提下得到大的性能提升。类似mysql选择适合场景的存储引擎。 Hive支持的存储格式有 文本格式&#xff08;TextFile&#xff09; 二进制序列化文件 &#xff08;SequenceF…

期末复习---程序填空

注意&#xff1a; 1.数组后移 *p *(p-1) //把前一个数赋值到后一个数的位置上来覆盖后一个数 2.指针找最大字符 max *p while( *p){ if( max< *p) { max*p; qp;/ 用新的指针指向这个已经找到的最大位置&#xff1b;!!!!!!!!! } p; //因为开始没有next &#xff…

Fragment+Viewpage2+FragmentStateAdapter实现滑动式标签布局

大家好&#xff0c;我是网创有方&#xff0c;今天记录下标签布局的实现方法&#xff0c;先看下效果图。 第一步&#xff1a;编写一个activity或者fragment。内含有一个viewpager2的适配器&#xff0c;适配器类型为FragmentStateAdapter。 ​ public class MediaCreateFragment…

计算机图形学入门22:双向反射分布函数(BRDF)

1.定义 所谓BRDF&#xff08;Bidirectional Reflectance Distribution Function&#xff0c;双向反射分布函数&#xff09;&#xff0c;指的是从辐射度量学的角度去理解光线的反射&#xff0c;如下图所示。 所谓反射就是一个点从ωi方向发出的Radiance转化为dA接收到的功率E&am…

在jeesite框架中增加一个收藏夹功能-- V1.0版本

Jeesite简介&#xff1a;JeeSite 快速开发平台&#xff0c;不仅仅是一个后台开发框架&#xff0c;它是一个企业级快速开发解决方案&#xff0c;提供在线数据源管理、数据表建模、代码生成等功能。 正文&#xff1a;Jeesite是一个方便实用&#xff0c;适合敏捷开发&#xff0c;提…

openmetadata1.3.1 自定义连接器 开发教程

openmetadata自定义连接器开发教程 一、开发通用自定义连接器教程 官网教程链接&#xff1a; 1.https://docs.open-metadata.org/v1.3.x/connectors/custom-connectors 2.https://github.com/open-metadata/openmetadata-demo/tree/main/custom-connector &#xff08;一&…

Webpack: 其他性能优化

概述 前面章节我们已经详细探讨 Webpack 中如何使用分包、代码压缩提升应用执行性能。除此之外&#xff0c;还有不少普适、细碎的方法&#xff0c;能够有效降低应用体积&#xff0c;提升网络分发性能&#xff0c;包括&#xff1a; 使用动态加载&#xff0c;减少首屏资源加载量&…

Adobe Photoshop 2024 v25.5.1 中文激活版下载以及安装方法教程

软件介绍 Adobe Photoshop 2024 v25.5.1 是Adobe公司的最新版图像处理软件&#xff0c;它提供了强大的图像编辑工具和智能自动化功能&#xff0c;包括图像修复、色彩校正和滤镜效果&#xff0c;以满足专业人士和业余爱好者的需求。这款软件还支持矢量图形设计和实时协作&#…

一维信号短时傅里叶变换域邻域降噪方法(MATLAB)

噪声在人类日常生活中无处不在,其会降低语音信号的质量和可懂度。在低信噪比的恶劣环境中,这种负面影响愈发严重。为了解决这个问题,众多研究人员在过去的几十年里提出了许多降噪算法。 根据原理的不同,降噪算法可大致分为五类:谱减法、最优滤波法、基于统计模型的方法、子空间…