IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Numpy学习笔记001 -> 正文阅读

[人工智能]Numpy学习笔记001

Numpy学习笔记001

一、Numpy库简介

NumPy是Python中科学计算的基础包。它是一个功能强大的Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。在数据分析和机器学习等领域被广泛应用,有以下几个特点:

  1. numpy内置了并行运算功能,当系统有多个核心时,做某种计算时,numpy会自动做并行计算。
  2. Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,效率远高于纯Python代码。
  3. NumPy包的核心是 ndarray 对象。它封装了python原生的同数据类型的 n 维数组,为了保证其性能优良,其中有许多操作都是代码在本地进行编译后执行的。
  4. 实用的线性代数、傅里叶变换和随机数生成函数等。

Numpy 1.21官方手册:https://numpy.org/doc/1.21/

二、Numpy库安装

安装python环境后可以直接使用 pip 安装

pip install numpy

如果有Anaconda环境,也可以使用conda安装,在Anaconda Prompt界面输入以下代码即可

conda install numpy

三、Numpy数组和python列表

1. Numpy中的数组的使用跟Python中的列表之间的区别

  • 一个列表中可以存储多种数据类型。比如a = [1,'a']是允许的,而数组只能存储同种数据类型。
  • 数组可以是多维的,当多维数组中所有的数据都是数值类型的时候,相当于线性代数中的矩阵,是可以进行相互间的运算的。

2. 两者性能对比

我们可以分别用Numpy和python计算相同的公式,用时间戳比较两者时间即可看出两者性能差异。例如我们想要对一个Numpy数组和Python列表中的100万个数求平方。那么代码如下:
(使用的是jupyter notebook

import numpy as np
import time
t1 = time.time()  #时间戳
a = []
for i in range(1000000):
    a.append(i**2)
t2 = time.time()
print(t2-t1)
#结果为0.30385828018188477
t3 = time.time()
c = np.arange(1000000)**2
t4 = time.time()
print(t4-t3)
#结果为0.003023862838745117

由于环境或设备等其他因素的影响计算的结果不一定和上述的相同,但是Numpy都应该要比python列表快100倍左右,可见使用numpy数组在速度性能方面比python列表更优。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章           查看所有文章
加:2021-10-09 16:16:59  更:2021-10-09 16:19:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/22 2:39:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码