第一章 jupyter notebook简单教程

  命令模式按键esc开启

  Enter : 转入编辑模式

  Shift-Enter : 运行本单元,选中下个单元

  Ctrl-Enter : 运行本单元

  Alt-Enter : 运行本单元,在其下插入新单元

  Y : 单元转入代码状态

  M :单元转入markdown状态

  Z : 恢复删除的最后一个单元

  第二章 numpy简单教程

  2.1 数组

  import numpy as np

  a = np.array([1, 2, 3])

  print(a)

  #out

  [1 2 3]

  a

  #out

  array([1, 2, 3])

  type(a)

  #out

  numpy.ndarray

  a.shape

  #out

  (3,)

  # reshape(1, -1)中1代表设置数组为1行 , -1代表一个占位符 , 表示a数组列数

  # reshape()中-1可以作为行的占位符也可以作为列的占位符

  a = a.reshape(1, -1)

  a.shape

  #out

  (1, 3)

  a = np.array([1, 2, 3, 4, 5, 6])

  a.shape

  #out

  (6,)

  a = a.reshape(2,-1)

  a.shape

  #out

  (2, 3)

  a

  #out

  array([[1, 2, 3],

  [4, 5, 6]])

  a = a.reshape(-1, 2)

  a.shape

  #out

  (3, 2)

  a[2, 0]

  #out

  5

  a[2, 0] = 55

  a[2, 0]

  #out

  55

  # zeros用于创建元素全部为0的矩阵数组

  a = np.zeros((3, 3))

  a

  #out

  array([[0., 0., 0.],

  [0., 0., 0.],

  [0., 0., 0.]])

  # ones用于创建元素全部为1的矩阵数组

  a = np.ones((3, 3))

  a

  #out

  array([[1., 1., 1.],

  [1., 1., 1.],

  [1., 1., 1.]])

  # zeros ones函数也完全可以用full函数实现

  a = np.full((2, 3), 0)

  a

  #out

  array([[0, 0, 0],

  [0, 0, 0]])

  # eye函数用于创建单位矩阵

  a = np.eye(3)

  a

  #out

  array([[1., 0., 0.],

  [0., 1., 0.],

  [0., 0., 1.]])

  # random.random用户创建数值为0-1之间的随机二维数组

  a = np.random.random((2, 3))

  a

  #out

  array([[0.54627035, 0.49586489, 0.6976645 ],

  [0.76596824, 0.95951819, 0.7515421 ]])

  2.2 数组索引操作

  # indexing : 数组索引

  a = np.array([[1, 2, 3, 4],

  [5, 6, 7, 8],

  [9, 10, 11, 12]])

  # -2代表数组的倒数第二行 , 1:3代表从第一列开始往后两个元素

  a[-2:, 1:3]

  #out

  array([[ 6, 7],

  [10, 11]])

  # 取倒数第二行 , 第三列元素

  a[-2, 3]

  #out

  8

  a

  #out

  array([[ 1, 2, 3, 4],

  [ 5, 6, 7, 8],

  [ 9, 10, 11, 12]])

  a.shape

  #out

  (3, 4)

  # 将数组a倒数第二行开始到最后一行 , 从第一列往后两列元素赋值给b数组

  b = a[-2:, 1:3]

  a

  #out

  array([[ 1, 2, 3, 4],

  [ 5, 6, 7, 8],

  [ 9, 10, 11, 12]])

  b

  #out

  array([[ 6, 7],

  [10, 11]])

  b.shape

  #out

  (2, 2)

  # 指定为索引为的2行

  b = a[2, 1:3]

  b

  #out

  array([10, 11])

  b.shape

  #out

  (2,)

  b = a[1, 2]

  b

  #out

  7

  b.shape

  #out

  ()

  b = a[2:3, 1:3]

  b

  #out

  array([[10, 11]])

  b.shape

  #out

  (1, 2)

  # 将数组的3行的1列 + 10

  a[np.arange(3), 1] += 10

  a

  #out

  array([[ 1, 12, 3, 4],

  [ 5, 16, 7, 8],

  [ 9, 20, 11, 12]])

  a[np.arange(2), 3] += 100

  a

  #out

  array([[ 1, 12, 3, 104],

  [ 5, 16, 7, 108],

  [ 9, 20, 11, 12]])

  # 产生一个0,1,2的数组 , 不包含3

  np.arange(3)

  #out

  array([0, 1, 2])

  # 产生一个从3-7的数组 , 不包含7

  np.arange(3,7)

  #out

  array([3, 4, 5, 6])

  a[np.arange(3), [1,1,1]] += 10

  a

  #out

  array([[ 1, 22, 3, 104],

  [ 5, 26, 7, 108],

  [ 9, 30, 11, 12]])

  a[[0,1,2], [1,1,1]] += 10

  a

  #out

  array([[ 1, 32, 3, 104],

  [ 5, 36, 7, 108],

  [ 9, 40, 11, 12]])

  # 判断数组a中大于10的值

  result_index = a>10

  result_index

  #out

  array([[False, True, False, True],

  [False, True, False, True],

  [False, True, True, True]])

  a[result_index]

  #out

  array([ 32, 104, 36, 108, 40, 11, 12])

  a[a>10]

  #out

  array([ 32, 104, 36, 108, 40, 11, 12])

  2.3 元素数组类型

  a = np.array([1,2,3])

  a.dtype

  #out

  dtype('int64')

  a = np.array([1.1, 2.2])

  a.dtype

  #out

  dtype('float64')

  a = np.array([1.1, 1, 'a'])

  a

  #out

  array(['1.1', '1', 'a'], dtype='

  # 将float型数组转化成int型

  a = np.array([1.1, 2.2], dtype=np.int64)

  a

  #out

  array([1, 2])

  # 将a数组赋值给b数组 , 同时设置元素类型为int

  b = np.array(a, dtype=np.int64)

  b

  #out

  array([1, 2])

  2.3 数组运算与常用函数

  numpy中的数学运算

  a = np.array([[1,2],

  [3,4]])

  b = np.array([[5,6],

  [6,5]])

  # 加法

  a+b

  #out

  array([[6, 8],

  [9, 9]])

  np.add(a,b)

  #out

  array([[6, 8],

  [9, 9]])

  # 减法

  a-b

  #out

  array([[-4, -4],

  [-3, -1]])

  np.subtract(a,b)

  #out

  array([[-4, -4],

  [-3, -1]])

  # 乘法

  a*b

  #out

  array([[ 5, 12],

  [18, 20]])

  np.multiply(a,b)

  #out

  array([[ 5, 12],

  [18, 20]])

  # 除法

  a/b

  #out

  array([[0.2 , 0.33333333],

  [0.5 , 0.8 ]])

  np.divide(a,b)

  #out

  array([[0.2 , 0.33333333],

  [0.5 , 0.8 ]])

  # 开方

  np.sqrt(a)

  #out

  array([[1. , 1.41421356],

  [1.73205081, 2. ]])

  a

  #out

  array([[1, 2],

  [3, 4]])

  b = np.array([[1,2,3],

  [4,5,6]])

  # dot : 是将a数组与b数组矩阵相乘的结果

  a.dot(b)

  #out

  array([[ 9, 12, 15],

  [19, 26, 33]])

  np.dot(a,b)

  #out

  array([[ 9, 12, 15],

  [19, 26, 33]])

  numpy中的常用函数

  # sum : 求和函数

  # 计算数组中全部元素的和

  a = np.array([[1,2],

  [3,4]])

  np.sum(a)

  #out

  10

  # 将数组中的每一列进行求和操作

  np.sum(a, axis=0)

  #out

  array([4, 6])

  # 将数组中的每一行进行求和操作

  np.sum(a, axis=1)

  #out

  array([3, 7])

  # mean : 求平均值函数

  # 计算数组的平均值

  np.mean(a)

  #out

  2.5

  # 计算数组每一列的平均值

  np.mean(a, axis=0)

  #out

  array([2., 3.])

  # 计算数组每一行的平均值

  np.mean(a, axis=1)

  #out

  array([1.5, 3.5])

  # uniform : 用户生成一个指定范围内的随机数值

  np.random.uniform(3,4)

  #out

  3.247709331922638

  # tile : 用于将一个数组作为一个元素重复指定的次数

  a无锡妇科医院哪家好 http://www.xasgfk.cn/

  #out

  array([[1, 2],

  [3, 4]])

  # 将数组在行上重复1次, 在列上重复2次

  np.tile(a, (1,2))

  #out

  array([[1, 2, 1, 2],

  [3, 4, 3, 4]])

  # 将数组在行上重复1次, 在列上重复3次

  np.tile(a, (1,3))

  #out

  array([[1, 2, 1, 2, 1, 2],

  [3, 4, 3, 4, 3, 4]])

  # argsort : 将数组中的元素进行排序 , 默认从小到大

  a = np.array([[1,12,3,104],

  [5,10,1,3]])

  # 按照数组下标将元素排好

  np.argsort(a)

  #out

  array([[0, 2, 1, 3],

  [2, 3, 0, 1]])

  # 将每一列进行排序

  a.argsort(axis=0)

  #out

  array([[0, 1, 1, 1],

  [1, 0, 0, 0]])

  # T : 矩阵转置

  a

  #out

  array([[ 1, 12, 3, 104],

  [ 5, 10, 1, 3]])

  a.T

  #out

  array([[ 1, 5],

  [ 12, 10],

  [ 3, 1],

  [104, 3]])

  # 使用transpose函数将数组转置

  np.transpose(a)

  #out

  array([[ 1, 5],

  [ 12, 10],

  [ 3, 1],

  [104, 3]])

  2.4 广播

  广播

  可以将不同维度的数组进行相加 , numpy会将不同维度的数组转化成相同维度的数组 , 广播会在缺失维度和一维的数组上进行操作

  a = np.array([[1, 2, 3],

  [5, 6, 7],

  [9, 10, 11]])

  b = np.array([1,2,3])

  # 将b数组加到a数组的每一行

  for i in range(3):

  a[i, :] += b

  a

  #out

  array([[ 2, 4, 6],

  [ 6, 8, 10],

  [10, 12, 14]])

  # 将b数组行上重复3次 , 列上重复1次 , 与a相加

  a + np.tile(b, (3,1))

  #out

  array([[ 3, 6, 9],

  [ 7, 10, 13],

  [11, 14, 17]])

Python人工智能常用库Numpy使用入门的更多相关文章

  1. Python科学计算库Numpy

    Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...

  2. 数据分析常用库(numpy,pandas,matplotlib,scipy)

    概述 numpy numpy(numeric python)是 python 的一个开源数值计算库,主要用于数组和矩阵计算.底层是 C 语言,运行效率远高于纯 python 代码.numpy主要包含2 ...

  3. Python的常用库

    读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都 ...

  4. 爬虫-Python爬虫常用库

    一.常用库 1.requests 做请求的时候用到. requests.get("url") 2.selenium 自动化会用到. 3.lxml 4.beautifulsoup 5 ...

  5. Python扫描器-常用库-Request

    1.常用库-Request 1.1. 介绍 #安装:pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >> ...

  6. python常用库 - NumPy 和 sklearn入门

    Numpy 和 scikit-learn 都是python常用的第三方库.numpy库可以用来存储和处理大型矩阵,并且在一定程度上弥补了python在运算效率上的不足,正是因为numpy的存在使得py ...

  7. [Python学习] python 科学计算库NumPy—矩阵运算

    NumPy库的核心是矩阵及其运算. 使用array()函数可以将python的array_like数据转变成数组形式,使用matrix()函数转变成矩阵形式. 基于习惯,在实际使用中较常用array而 ...

  8. Python科学计算库-Numpy

    NumPy 是 Python 语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,也是学习 python 必学的一个库. 1. 读取文件 numpy.gen ...

  9. Python自动化测试常用库

    基本库: sys 程序和Python解析器的交互 os 启动新进程:操作文件和目录 re 正则表达式,字符串匹配 string 基本字符串操作 inspect 提供自省和反射功能 importlib ...

随机推荐

  1. Python基础之输出格式和If判断

    格式化输出的三种方式 一.占位符 #占位符 name = 'nick' age = 19 print('my name is %s my age is %s' % (name, age)) age = ...

  2. python基础之二:占位符、格式化输出、while else 、逻辑运算

    1.占位符和格式化输出 示例代码 #格式化输出 # % s d # name = input('请输入姓名') # age = input('请输入年龄') # height = input('请输入 ...

  3. 知识点6 C++数据类型转换 string

    一.int转string 1.c++11标准增加了全局函数std::to_string: string to_string (int val); string to_string (long val) ...

  4. 3-OpenResty 配置PHP

    由于咱以前是用PHP做的东西,又不想重新用 OpenResty自带的编写,所以呢咱设置下,可以像以前Apache那样访问PHP文件 首先去下载 PHP https://windows.php.net/ ...

  5. 洛谷p3353在你窗外闪耀的星星题解

    题目 首先被题目甜到了 本来搜标签搜的线段树,结果发现这题目很吸引我我果断点开 觉得前缀和就能A啊 于是乎 要注意 窗户旁边是可以看到的 所以前缀和的时候是不用再-1的 //前缀和 //注意坑点 // ...

  6. React 获取真实Dom v8.6.2版本

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. React - 入门:前导、环境、目录、原理

    前导介绍: facebook.2013开源.官网:https://reactjs.org/ 版本v16之后,对其底层的核心算法进行了重构,引入了底层的新引擎React Fiber(16版本以后的rea ...

  8. java信号量

    维基百科解释的信号量概念如下 信号量(英语:semaphore)又称为信号标,是一个同步对象,用于保持在0至指定最大值之间的一个计数值.当线程完成一次对该semaphore对象的等待(wait)时,该 ...

  9. .NET 微服务 1. Docker 容器简介和选择

    容器特点 1. 容器可以将应用程序的依赖性和配置(抽象为 Mainfest 文件并部署)打包成一个容器镜像,可以让多次部署操作中的环境保持一致 2. 可以让IT人员很少或者不做修改就可以跨环境部署软件 ...

  10. Azure DevOps Server 2019 第一个补丁包(2019.0.1 RTW)

    在Azure DevOps Server 2019正式发布后的2周左右时间,微软快速发布了第一个补丁包Azure DevOps Server 2019.0.1 RTW.Azure DevOps Ser ...