Python数据分析第02课:环境准备

news2024/9/24 17:10:25

如果希望快速开始使用 Python 处理数据科学相关的工作,建议大家直接安装 Anaconda,然后使用 Anaconda 中集成的 Notebook 或 JupyterLab 工具来编写代码。因为对于新手来说,先安装官方的 Python 解释器,再逐个安装工作中会使用到的三方库文件会比较麻烦,尤其是在 Windows 环境下,经常会因为构建工具或 DLL 文件的缺失导致安装失败,而一般新手也很难根据错误提示信息采取正确的解决措施,容易产生严重的挫败感。如果计算机上已经有 Python 解释器环境了,也可以直接使用 Python 的包管理工具 pip 安装 Jupyter,再根据实际工作的需要安装三方库,这种方式适合有一定经验的用户。

安装和使用 Anaconda

对于个人用户来说,可以从 Anaconda 的官方网站下载它的“个人版(Individual Edition)”安装程序,安装完成后,你的计算机上不仅拥有了 Python 环境和 Spyder(类似于PyCharm的集成开发工具),还拥有了与数据科学工作相关的近200个工具包,包括我们上面提到 Python 数据分析三大神器。除此之外,Anaconda 还提供了一个名为 conda 的包管理工具,通过这个工具不仅可以管理 Python 的工具包,还可以用于创建运行 Python 程序的虚拟环境。

如上图所示,可以通过 Anaconda 官网提供的下载链接选择适合自己操作系统的安装程序,建议大家选择图形化的安装程序,下载完成后双击安装程序开始安装。安装过程基本使用默认设置即可,完成安装后,macOS 用户可以在“应用程序”或“启动台”中找到名为“Anaconda-Navigator”的应用程序,运行该程序可以看到如下所示的界面,我们可以在这里选择需要执行的操作。

对于 Windows 用户,建议按照安装向导的提示和推荐的选项来安装 Anaconda(除了安装路径,基本也没有什么需要选择的),安装完成后可以在“开始菜单”中找到“Anaconda3”。

提示:可以选择 Miniconda 作为 Anaconda 的替代品,Miniconda 只会安装 Python 解释器环境和一些必要的工具,其他的三方库由用户自行选择安装。其实我个人并不喜欢 Anaconda,因为它是给小白用户使用的,我们有了 Python 环境以后完全可以按照自己的意愿来安装需要的三方库。

conda命令

对于非新手用户,如果希望使用 conda 工具来管理依赖项或者创建项目的虚拟环境,可以在终端或命令行提示符中使用 conda 命令。Windows 用户可以在“开始菜单”中找到“Anaconda3”,然后点击“Anaconda Prompt”或“Anaconda PowerShell”来启动支持 conda 的命令行提示符。新手用户如果想创建新的虚拟环境或管理三方库(依赖项),建议直接使用“Anaconda-Navigator”中的“Environments”,通过可视化的方式对虚拟环境和依赖项进行管理。

  1. 版本和帮助信息。

    • 查看版本:conda -Vconda --version
    • 获取帮助:conda -hconda --help
    • 相关信息:conda list
  2. 虚拟环境相关。

    • 显示所有虚拟环境:conda env list
    • 创建虚拟环境:conda create --name venv
    • 指定 Python 版本创建虚拟环境:conda create --name venv python=3.7
    • 指定 Python 版本创建虚拟环境并安装指定依赖项:conda create --name venv python=3.7 numpy pandas
    • 通过克隆现有虚拟环境的方式创建虚拟环境:conda create --name venv2 --clone venv
    • 分享虚拟环境并重定向到指定的文件中:conda env export > environment.yml
    • 通过分享的虚拟环境文件创建虚拟环境:conda env create -f environment.yml
    • 激活虚拟环境:conda activate venv
    • 退出虚拟环境:conda deactivate
    • 删除虚拟环境:conda remove --name venv --all

    说明:上面的命令中,venvvenv2是虚拟环境文件夹的名字,可以将其替换为自己喜欢的名字,但是强烈建议使用英文且不要有特殊字符。

  3. 包(三方库或工具)管理。

    • 查看已经安装的包:conda list
    • 搜索指定的包:conda search matplotlib
    • 安装指定的包:conda install matplotlib
    • 更新指定的包:conda update matplotlib
    • 移除指定的包:conda remove matplotlib

    说明:在搜索、安装和更新软件包时,默认会连接到官方网站进行操作,如果觉得速度不给力,可以将默认的官方网站替换为国内的镜像网站,推荐使用清华大学的开源镜像网站。将默认源更换为国内镜像的命令是:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main。如果需要换回默认源,可以使用命令conda config --remove-key channels

安装和使用JupyterLab

安装和启动

如果已经安装了 Anaconda,可以按照上面所说的方式在“Anaconda-Navigator”中直接启动 Notebook 或 JupyterLab。按照官方的说法,JupyterLab 是下一代的 Notebook,提供了更友好的界面和更强大的功能,我们也推荐大家使用 JupyterLab。Windows 用户也可以在开始菜单中打开“Anaconda Prompt”或“Anaconda PowerShell”,由于已经激活了 Anaconda 默认的虚拟环境,只需要输入jupyter lab命令来启动JupyterLab。macOS 系统在安装 Anaconda以后,每次打开终端时会自动激活 Anaconda 默认的虚拟环境,也是通过输入jupyter lab命令就可以启动JupyterLab。

对于安装了 Python 环境但是没有安装 Anaconda 的用户,可以用 Python 的包管理工具pip来安装 JupyterLab,安装成功后在终端或命令行提示符中执行jupyter lab命令来启动 JupyterLab,如下所示。

安装 JupyterLab:

pip install jupyterlab
复制代码

安装 Python 数据分析三大神器:

pip install numpy pandas matplotlib
复制代码

启动 JupyterLab:

jupyter lab
复制代码

JupyterLab 是基于网页的用于交互计算的应用程序,可以用于代码开发、文档撰写、代码运行和结果展示。简单的说,你可以在网页中直接编写代码运行代码,代码的运行结果也会直接在代码块下方进行展示。如在编写代码的过程中需要编写说明文档,可在同一个页面中使用 Markdown 格式进行编写,而且可以直接看到渲染后的效果。此外,Notebook 的设计初衷是提供一个能够支持多种编程语言的工作环境,目前它能够支持超过40种编程语言,包括 Python、R、Julia、Scala 等。

首先,我们可以创建一个用于书写 Python 代码的 Notebook,如下图所示。

接下来,我们就可以编写代码、撰写文档和运行程序啦,如下图所示。

使用技巧

如果使用 Python 做工程化的项目开发,PyCharm 肯定是最好的选择,它提供了一个集成开发环境应该具有的所有功能,尤其是智能提示、代码补全、自动纠错这类功能会让开发人员感到非常舒服。如果使用 Python 做数据科学相关的工作,JupyterLab 并不比 PyCharm 逊色,在数据和图表展示方面 JupyterLab 更加优秀。为此,JetBrains 公司还专门开发了一个对标 JupyterLab 的新工具 DataSpell,有兴趣的读者可以自行了解。下面我们为大家介绍一些 JupyterLab 的使用技巧,希望能够帮助大家提升工作效率。

  1. 自动补全。在使用 JupyterLab 编写代码时,按Tab键会获得代码提示和补全功能。

  2. 获得帮助。如果希望了解一个对象(如变量、类、函数等)的相关信息或使用方式,可以在对象后面使用?并运行代码, 窗口下方会显示出对应的信息,帮助我们了解该对象,如下所示。

  1. 搜索命名。如果只记得一个类或一个函数名字的一部分,可以使用通配符*并配合?进行搜索,如下所示。

  1. 调用命令。可以在 JupyterLab 中使用!后面跟系统命令的方式来执行系统命令。

  2. 魔法指令。JupyterLab 中有很多非常有趣且有用的魔法指令,例如可以使用%timeit测试语句的执行时间,可以使用%pwd查看当前工作目录等。如果想查看所有的魔法指令,可以使用%lsmagic,如果了解魔法指令的用法,可以使用%magic来查看,如下图所示。

魔法指令功能说明
%pwd查看当前工作目录
%ls列出当前或指定文件夹下的内容
%cat查看指定文件的内容
%hist查看输入历史
%matplotlib inline设置在页面中嵌入matplotlib输出的统计图表
%config Inlinebackend.figure_format='svg'设置统计图表使用SVG格式(矢量图)
%run运行指定的程序
%load加载指定的文件到单元格中
%quickref显示IPython的快速参考
%timeit多次运行代码并统计代码执行时间
%pruncProfile.run运行代码并显示分析器的输出
%who / %whos显示命名空间中的变量
%xdel删除一个对象并清理所有对它的引用
  1. 快捷键。JupyterLab 中的很多操作可以通过快捷键来实现,使用快捷键可以提升工作效率。JupyterLab 的快捷键可以分为命令模式下的快捷键和编辑模式下的快捷键,所谓编辑模式就是处于输入代码或撰写文档状态的模式,在编辑模式下按Esc可以回到命令模式,在命令模式下按Enter可以进入编辑模式。

    命令模式下的快捷键:

    快捷键功能说明
    Alt + Enter运行当前单元格并在下面插入新的单元格
    Shift + Enter运行当前单元格并选中下方的单元格
    Ctrl + Enter运行当前单元格
    j / kShift + j / Shift + k选中下方/上方单元格、连续选中下方/上方单元格
    a / b在下方/上方插入新的单元格
    c / x复制单元格 / 剪切单元格
    v / Shift + v在下方/上方粘贴单元格
    dd / z删除单元格 / 恢复删除的单元格
    Shift + l显示或隐藏当前/所有单元格行号
    Space / Shift + Space向下/向上滚动页面

    编辑模式下的快捷键:

    快捷键功能说明
    Shift + Tab获得提示信息
    Ctrl + ]/ Ctrl + [增加/减少缩进
    Alt + Enter运行当前单元格并在下面插入新的单元格
    Shift + Enter运行当前单元格并选中下方的单元格
    Ctrl + Enter运行当前单元格
    Ctrl + Left / Right光标移到行首/行尾
    Ctrl + Up / Down光标移动代码开头/结尾处
    Up / Down光标上移/下移一行或移到上/下一个单元格

    说明:对于 macOS 系统可以将Alt键替换成Option键,将Ctrl键替换成Command键。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JAVA】easyExcel导出导入使用

EasyExcel是阿里巴巴开源插件之一,主要解决了poi框架使用复杂,sax解析模式不容易操作,数据量大起来容易OOM,解决了POI并发造成的报错。主要解决方式:通过解压文件的方式加载,一行一行地加载,并且…

【剑指 offer】数组中出现次数超过一半的数字

✨个人主页:bit me👇 ✨当前专栏:算法训练营👇 数 组 中 出 现 次 数 超 过 一 半 的 数 字 核心考点: 数组使用,简单算法的设计 描述: 给一个长度为 n 的数组,数组中有一个数字出现的次数超…

php:php-fpm平滑重启为什么无效

一、问题 今天修改了fpm一些配置,需要上线重启fpm,但是发现一瞬间出现很多502的错误请求,查看日志发现以下错误 fpm:重启日志 nginx:错误日志 2023/04/23 15:19:00 [error] 9#0: *1893053661 recv() failed (104: Co…

【服务器数据恢复】重装系统导致分区无法访问的数据恢复案例

服务器数据恢复环境: 磁盘柜raid卡15块磁盘组建一组raid5磁盘阵列,划分2个lun; 上层操作系统划分若干分区,通过LVM扩容方式将其中一个分区加入到了root_lv中,其他分区格式化为XFS文件系统。 服务器故障: 为…

S/MIME电子邮件证书,符合FDA邮件安全要求

美国食品和药物管理局 (FDA)要求合作伙伴提交或接收电子监管信息时,必须使用数字证书保障通信安全。 01 为什么FDA使用数字证书保障通信安全? 为了维护数据完整性、准确性,有组织地管理文件,FDA为接受机构的电子监管提交设置了电子…

基于开源 web3引擎的三维系统的开发

目录 结合图像特征的平滑恢复技术 1.开发步骤 2 应用案例开发 结束语 应用 Web3D 引擎开发的计算机仿真系统或虚拟现实系统均需在 Web 浏览 器 上 运 行 &#xff0…

MII、 RMII、 GMII、 RGMII 接口介绍

1、RGMII 接口概要 以太网的通信离不开物理层 PHY 芯片的支持,以太网 MAC 和 PHY 之间有一个接口,常用的接口有MII、 RMII、 GMII、 RGMII 等。 MII(Medium Independent Interface, 媒体独立接口): MII 支持…

技术招聘演化论:怎样从纸上答题升级到实战编程?

创新赛道的出现 一些企业或许已经对招聘管理系统(Applicant Tracking System,简称 ATS)有一定了解,ATS 可以帮助企业管理招聘流程,其中包括发布招聘信息、接收简历、筛选候选人和安排面试等。在中国,一些知…

seata1.6.0 单机,集群搭建 基于nacos注册中心 mysql数据库

seata1.6.0 单机,集群搭建 基于nacos注册中心 mysql数据库 大纲 1 单机搭建2 集群搭建 由于项目中的dubbo版本为2.6.0 故客户端程序(TM RM)使用seata-all 1.4.2 ,服务端(TC)使用seata-server-1.6.0.zip …

SQL Server基础 第六章 聚合函数和分组查询

前言 在数据查询的很多场合,除了需要显示数据表的原始数据,还需要对这些数据进行分析、汇总以及求极值等, 如获取公司员工的人数、工资总额、最高工资、最低工资和平均工资等。本章我们将通过学习SQL Server 聚合函数轻松获取上述数据。另外&…

基于Java+SpringBoot+vue学生学习平台详细设计实现

基于JavaSpringBootvue学生学习平台详细设计实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目…

软件架构的演进(超详细)

文章目录 前言1、什么是单体架构2、分布式架构3、SOA架构4、微服务架构总结 前言 之前对各种架构一直有所了解,但也只是了解,没有过多的研究为什么架构在慢慢演进,新架构代替老架构的理由是什么,而刚好最近学习了一下架构的演进过…

人工智能会取代人工翻译吗?

当今社会正处于语言和技术高速发展的阶段,因此语言和技术的碰撞是不可避免的——甚至有些人说这种碰撞已经发生了,我们只是在等待尘埃落定。数字化、物联网、人工智能和机器学习,以及更进一步——智能手机、语音识别,以及互联网和…

27《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》中文分享

​《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》 本人能力有限,如果错误欢迎批评指正。 第六章:The principles of protein folding kinetics (蛋白质折叠动力学的原理) 整个二级结构通常作为一个单…

JS规范及常见问题

数字和字符串不能混合使用。 做加减法可能出错 "1"1 "11"做判断可能出错 "2"<"11"false几种for循环的使用: for(var i0;i<list.length;i): es5,需要拿到下标时、遍历非标准数组如FileList时for(var i in obj): es5,遍历对象时…

SpringBoot接口传递自定义参数,参数解析器

Hi I’m Shendi SpringBoot接口传递自定义参数&#xff0c;参数解析器 简介 我的需求&#xff1a;编写了一个日志微服务&#xff0c;使用方式是 创建日志对象 - 日志流程 - 完成日志对象&#xff0c;这样的方式使用时就需要在每个接口都去创建和完成一下&#xff0c;多出了一点…

查看 AndroidManifest.xml 文件内容,解决全是二进制代码问题

想查看打包后apk的AndroidManifest.xml文件内容&#xff0c;之前都是将后缀apk改为zip&#xff0c;直接解压查看&#xff0c;有时会遇到都是二进制代码&#xff0c;给出集中查看明文的方法&#xff1a; 方法一、通过android studio自带的Analyze apk 功能 通过 studio Build …

9.7 字符串的指针和指向字符串的指针变量

9.7 字符串的指针和指向字符串的指针变量 一.字符串表示形式二.字符串指针做函数参数1.数组名做函数参数2.数组指针做函数参数 三.字符指针变量与字符数组&#xff08;1&#xff09;字符数组是由若干个元素组成&#xff0c;每个元素中存放一个字符。&#xff08;2&#xff09;赋…

优化配置Little Snitch for Mac的规则和设置

Little Snitch for Mac是一款专业的macOS防火墙软件&#xff0c;它可以帮助你控制应用程序是否访问网络或者磁盘&#xff0c;并对系统不可信的进程和信息进行监控。如果你想保护你的Mac的网络安全&#xff0c;那么你需要了解如何配置和优化Little Snitch for Mac的规则和设置。…

证件照换底色,快试试这3种方法,方便还快捷

由于我们不论是在生活还是学习中&#xff0c;有时候总会要上传一些证件照&#xff0c;而当你手上有证件照准备上传时&#xff0c;发现底色不对&#xff0c;是不是很抓狂&#xff0c;电子证件照片换底色怎么弄&#xff1f;很多小伙伴还在因为证件照底色不对而重新拍&#xff1f;…