第十章、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. Java对象和集合的拷贝/克隆/复制

    昨天同事遇到了一个奇怪的问题,他需要将一个JavaBean拷贝一份,然后对新创建的Bean进行操作.但是他对新的Bean操作后,会影响旧的Bean的值.当听到这个问题的时候,我第一反应就是他的拷贝方法 ...

  2. vue组件命名和传值 and 父子组件传值

    https://www.cnblogs.com/lianxisheng/p/10907350.html

  3. c++ STL之map

    map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,map中的元素是自动按Key升序排序,所以不能对map用sort函数: ...

  4. weblogic密码重置----未做成

    1.备份DefaultAuthenticatorInit.ldift文件 [root@test4 ~]# find / -name DefaultAuthenticatorInit.ldift /ap ...

  5. vue项目windowServer nginx下部署

    https://www.cnblogs.com/jiangwangxiang/p/8481661.html nginx下载地址 http://nginx.org/en/download.html 下载 ...

  6. Chrome F12 谷歌开发者工具解析

    一.工具简单介绍 F12可用于网站界面.性能测试,bug定位等 以 www.baidu.com 为例: Elements:查看页面元素属性(多用于自动化元素定位) Console:记录日志信息(用于定 ...

  7. window 安装指定的node版本

    有时候不同的项目需要不同的node版本,window切换node版本命令很不管用,甚至需要卸载后重新装,同事分享了一下他的做法,很便利. 1.打开node官网 https://nodejs.org/e ...

  8. lua学习笔记3--lua与c#交互

    LuaInterface是C#与Lua连接的桥梁 LuaInterface是一个开源项目工程,内部有两个核心DLL文件: LuaInterface.dll:在C#中操作Lua代码需要依赖该文件; lu ...

  9. JSP基础知识补充

    <meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cac ...

  10. 记日杂-log4net组件使用

    下面我给大家介绍一下记日杂-log4net组件使用,当程序发布有服务器上,有时出现了错误, 都不知道出现在那,所以log4net组件很好解决这个问题. 1.添加开发包,并对log4net.dll的引用 ...