第十章、numpy模块

一、导入方式

import numpy as np#约定俗成

二、作用

数组或矩阵的运算

  1. numpy数组

    arr1 = np.array([1,2,3])    #创建一维数组对象
    arr1
    arr2 = np.array([[1,2,3],[4,5,6]])
    arr2 #二维数组

    三维数组不用numpy模块,用TensorFlow、pytorch模块

  2. 属性

    属性 解释
    T 数组的转置(也就是行和列互换)
    dtype 数组元素的数据类型
    size 数组元素的个数(比如2行3列为6)
    ndim 数组的维数
    shape 数组的维度大小(以元组形式)(比如2行3列为(2,3))
    astype 类型转换
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    print(arr.T) # 行与列互换 arr1.transpose()也是转置
    -------------------------------------------------------
    [[1 4]
    [2 5]
    [3 6]]

切片

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

print(arr[:]) #取出数组所有元素

print(arr[:, :]) #取出数组所有元素

print(arr[0, :]) #取出第0行到第一行的数组

print(arr[0:1, :]) #取出第0行到第一行的数组,顾头不顾尾

print(arr[0:1, 0:1]) #取出第0行到第一行,第0列到第一列的数组,顾头不顾尾

print(arr[0, 0],type(arr[0, 0])) #取出第0行到第一行,第0列到第一列的数,输出数组类型

print(arr[0, [0,2]]) #取出第0行第0个元素和第2个元素 [1 3]

print(arr[0, 0] + 1) #取出第0行第0列的元素加1 2


取值

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

arr[0, :] = 0 #将第0行的元素全部变为0

print(arr)

[[0 0 0]

[4 5 6]]

arr[1, 1] = 1 #将第一行第一列的数字改为1

arr[arr < 3] = 3 # 布尔取值 将小于3的数字全部变为3

print(arr)


合并

arr1 = np.array([[1, 2, 3], [4, 5, 6]]) # 可变数据类型

arr2 = np.array([[7, 8, 9], [10, 11, 12]]) # 可变数据类型

[[1 2 3]

[4 5 6]]

[[ 7 8 9]

[10 11 12]]



## 三、通过函数创建numpy数组

| 方法       | 详解                                  |
| ---------- | ------------------------------------- |
| array() | 将列表转换为数组,可选择显式指定dtype |
| arange() | range的numpy版,支持浮点数 |
| linspace() | 类似arange(),第三个参数为数组长度 |
| zeros() | 根据指定形状和dtype创建全0数组 |
| ones() | 根据指定形状和dtype创建全1数组 |
| eye() | 创建单位矩阵 |
| empty() | 创建一个元素全随机的数组 |
| reshape() | 重塑形状 | ##四、 numpy数组运算 | 方法 | 详解 |
| ---------- | ------------------------------------- |
| array() | 将列表转换为数组,可选择显式指定dtype |
| arange() | range的numpy版,支持浮点数 |
| linspace() | 类似arange(),第三个参数为数组长度 |
| zeros() | 根据指定形状和dtype创建全0数组 |
| ones() | 根据指定形状和dtype创建全1数组 |
| eye() | 创建单位矩阵 |
| empty() | 创建一个元素全随机的数组 |
| reshape() | 重塑形状 | ## 五、重点 **随机数种子:所有的随机数是按照随机数种子生成的** 时间短则不变,时间长就变

np.random.seed(int(time.time()))

np.random.seed(1) #如果固定了就不会变

arr1 = np.random.rand(3,4) # 可变数据类型

print(arr1)


rs = np.random.RandomState(1) #产生一个随机状态种子,seed为1

print(rs.rand(3,4))


[[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01]

[1.46755891e-01 9.23385948e-02 1.86260211e-01 3.45560727e-01]

[3.96767474e-01 5.38816734e-01 4.19194514e-01 6.85219500e-01]]

第十章、numpy模块的更多相关文章

  1. Python:基本运算、基本函数(包括复数)、Math模块、NumPy模块

    基本运算 x**2 : x^2 若x是mat矩阵,那就表示x内每个元素求平方 inf:表示正无穷 逻辑运算符:and,or,not 字典的get方法 a.get(k,d) 1 1 get相当于一条if ...

  2. 【Python 数据分析】Numpy模块

    Numpy模块可以高效的处理数据,提供数组支持.很多模块都依赖他,比如:pandas.scipy.matplotlib 安装Numpy 首先到网站:https://www.lfd.uci.edu/~g ...

  3. python numpy模块

    目录 numpy模块 一维数组 二维数组(用的最多的) 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的元素的替换 通过函数方法创建多维数组 矩阵的运算 点乘和转置(了解) 点乘必须 m*n ...

  4. Python及bs4、lxml、numpy模块包的安装

    http://blog.csdn.net/tiantiancsdn/article/details/51046490(转载) Python及bs4.lxml.numpy模块包的安装 Python 的安 ...

  5. numpy模块(对矩阵的处理,ndarray对象)

    6.12自我总结 一.numpy模块 import numpy as np约定俗称要把他变成np 1.模块官方文档地址 https://docs.scipy.org/doc/numpy/referen ...

  6. Python3:numpy模块中的argsort()函数

    Python3:numpy模块中的argsort()函数   argsort函数是Numpy模块中的函数: >>> import numpy >>> help(nu ...

  7. 3 numpy模块

    Numpy     什么是Numpy:Numeric Python         Numpy模块是Python的一种开源的数值计算扩展.             1 一个强大的N维数组对象Array ...

  8. Day 19 numpy 模块

    numpy 模块(多维数组) import numpy as np arr=np.array([1,2,3,4],[5,6,7,8]) print(arr) #[[1 2 3 4] #[5 6 7 8 ...

  9. Pathon中numpy模块

    目录 numpy模块 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 fromstring/fromfunctions 矩阵的运算 常用矩阵运函数 矩阵的点乘 矩阵的逆 矩阵的其他操作 nump ...

随机推荐

  1. 在Android初次的前期学习中的二个小例子(2)

    Hello13:SQLite数据库 一.简述SQLite的概念和主要特性 SQLite是一个轻量级的关系型数据库,运算速度快,占用资源少,使用非常方便,支持SQL语法标准和数据库事务原则. 相对于Sh ...

  2. 实验一 绘制任意斜率的直线段 | 使用VS2017工具

    这世界上有很多坑,注定有些坑是要填的.下面我就用VS2017使用MFC对这个课堂实验进行填坑. 一.实验目的 (1)掌握任意斜率直线段的重点 Bresenham 扫描转换算法: (2)掌握 Cline ...

  3. 小D课堂 - 新版本微服务springcloud+Docker教程_5-02 Netflix开源组件断路器

    笔记 2.Netflix开源组件断路器Hystrix介绍     简介:介绍Hystrix基础知识和使用场景          文档地址:         https://github.com/Net ...

  4. Centos7.2 搭建emqttd集群,添加自启动服务

    关闭防火墙(可选):systemctl stop firewalld.service 1.安装依赖库> sudo yum -y install make gcc gcc-c++ kernel-d ...

  5. 20190603 - CentOS 7 提示 Failed to load SELinux policy. Freezing 导致卡住不启动的解决办法

    现象 最近 Windows 和两台 Mac 混用,将 Windows VirtualBox 中安装的 CentOS 7 拷贝到 Mac 上. 启动 CentOS 7 时,图形界面进度卡在最后,按 Es ...

  6. ASP.NET Core 入门笔记7,ASP.NET Core MVC 视图布局入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Cor ...

  7. 抄录的Linux命令

    daemon daemon 有一个很高大上的中文名字,叫 守护进程 . 有句话是这么说的,如果 Unix 中没有了守护进程,那么 Unix 就不会是相同的. 它很有个性,是一个运行在后台且不受终端控制 ...

  8. [bzoj1733][Usaco2005 feb]Secret Milking Machine 神秘的挤奶机_网络流

    [Usaco2005 feb]Secret Milking Machine 神秘的挤奶机 题目大意:约翰正在制造一台新型的挤奶机,但他不希望别人知道.他希望尽可能久地隐藏这个秘密.他把挤奶机藏在他的农 ...

  9. (5.15)mysql高可用系列——MHA实践

    关键词:MHA,mysql mha [1]需求 采用mysql技术,实现MHA高可用主从环境,预计未来数据量几百G MHA概念参考:MYSQL高可用技术概述 [2]环境技术架构 [2.1]MHA简介 ...

  10. golang 环境配置 over centos7

    基本编程环境 下载go1.8压缩包,解压后存放至目录~/work/下. 编辑~/.bashrc,添加如下三行在尾部 执行 source ~/.bashrc  配置vim + go  下载Vundle ...