python数据分析学习day01:环境安装、numpy介绍

1. Anaconda安装

Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB)

下载地址:Anaconda | The World's Most Popular Data Science Platform

安装位置的选择,建议不要装在C盘

添加到环境变量中,暂时不勾选,手动添加:

点击install,等待不太漫长的进度条……,

提示安装成功……,提示安装VScode,选择点击“skip” 

两个“learn”,都取消打勾

安装完成后,最重要一步,环境变量设置

此电脑——属性——高级系统设置——环境变量——path——编辑——新建

E:\Anaconda(Python需要)
E:\Anaconda\Scripts(conda自带脚本)
E:\Anaconda\Library\bin(jupyter notebook动态库)

 注意:以上路径是自己Anaconda安装的路径

验证环境是否安装成功

1. 命令行输入: python ,是否能够进行python命令行

2. 退出命令行,输入:jupyter notebook, 是否可以正常运行

2. jupyter使用

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

1. 编程时具有**语法高亮**、*缩进*、*tab补全*的功能。

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

3. 可以导出不同的格式,如pdf、html,py文件。

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

Jupyter安装

  1. 安装Jupyter Notebook的前提是需要安装了Python
  2. pip3 install jupyter
  3. Anaconda已经安装了jupyter,因此可以直接使用
  • jupyter notebook启动
  • 命令行输入:jupyter notebook
  • 注:输入命令前所在的路径,打开jupyter后就是页面的文件获取根路径
  • 浏览器地址栏中默认地将会显示:http://localhost:8888
  • 打开文件夹,在地址栏输入cmd,即可在当前文件夹路径打开终端

Jupyter基本使用

Files页面

 笔记本的基本操作

3. NumPy是什么?

(Numerical Python)一个开源的python科学计算库 使用Numpy可以方便的使用数组、矩阵进行计算 包含线性代数、傅里叶变换、随机数生成等大量函数

为什么使用Numpy

对于同样的数值计算任务,使用Numpy比直接Python代码实现,优点:

  • 代码更简洁:Numpy直接以数组、矩阵为粒度计算并且支撑大量的数学函数,而python需要用for循环从底层实现;
  • 性能更高效:Numpy的数组存储效率和输入输出计算性能,比Python使用List或者嵌套List好很多;
  • 注:Numpy的数据存储和Python原生的List是不一样的
  • 注:Numpy的大部分代码都是C语言实现的,这是Numpy比纯Python代码高效的原因

Numpy是Python各种数据科学类库的基础库:比如:Scipy,Scikit-Learn、TensorFlow,pandas等

numpy的优势

  • 在数组算术计算方面, NumPy 提供了大量的数学函数(统计相关、线性代数、财金相关、随机抽样等)
  • NumPy 的底层主要用 C语言(最靠近及其底层的语言)编写,因此对数组进行高效的数学运算
  • 多维向量的描述和快速高效计算能力,让数组和矩阵的使用更加自然;
  • 大量实用的数学函数,支撑复杂的线性代数、随机数生成以及傅里叶变换函数
  • 同样的数值计算任务,使用NumPy要比直接编写原生Python代码更便捷

4. NumPy下载与安装?

在 Windows 系统下安装 NumPy 有两种常用方式,下面分别对其进行介绍。

使用 Python 包管理器pip来安装 NumPy,是一种最简单、最轻量级的方法。只需执行以下命令即可:pip install numpy  

使用Anaconda(官网下载:https://www.anaconda.com/)是一个开源的 Python 发行版,     Anaconda 就目前应用较为广泛,因此建议安装

5. NumPy和原Python性能对比

实现两个数组的加法

  1. 数组A是0到N-1的平方
  2. 数组B是0到N-1的立方
# 原生python实现
def python_sum(n):
    a = [i ** 2 for i in range(n)] # 创建1-n的平方数组
    b = [i ** 3 for i in range(n)] # 创建1-n的立方数组
    
    ab_sum = []
    
    for i in range(n):
        ab_sum.append(a[i] + b[i])
        
    return ab_sum
# numpy实现
def numpy_sum(n):
    a = np.arange(n) ** 2
    b = np.arange(n) ** 3
    
    return a + b

对比实现1000次

In [10]:%timeit python_sum(1000)

1.88 ms ± 101 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

In [11]:%timeit numpy_sum(1000)

17.8 µs ± 1.23 µs per loop (mean ± std. dev. of 7 runs, 100000 loops each)

对比实现10W次

In [12]:%timeit python_sum(100000)

205 ms ± 12 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

In [13]:%timeit numpy_sum(100000)

871 µs ± 30.2 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

对比实现100W次

In [14]:%timeit python_sum(1000000)

2.09 s ± 102 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [15]:%timeit numpy_sum(1000000)

17.3 ms ± 1.28 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

绘图对比

# 创建数据
python_times = [1.88*1000,205*1000,2.09*1000*1000]
numpy_times = [17.8,8.71*1000,17.3*1000]
# 创建pandas的DataFrame类型数据
charts_data = pd.DataFrame({
    'python_times':python_times,
    'numpy_times':numpy_times,
})
charts_data
python_timesnumpy_times
01880.017.8
1205000.08710.0
22090000.017300.0

线性图

charts_data.plot()

柱状图

charts_data.plot.bar()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值