第十章、numpy模块
第十章、numpy模块
一、导入方式
import numpy as np#约定俗成
二、作用
数组或矩阵的运算
numpy数组
arr1 = np.array([1,2,3]) #创建一维数组对象
arr1
arr2 = np.array([[1,2,3],[4,5,6]])
arr2 #二维数组
三维数组不用numpy模块,用TensorFlow、pytorch模块
属性
属性 解释 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模块的更多相关文章
- Python:基本运算、基本函数(包括复数)、Math模块、NumPy模块
基本运算 x**2 : x^2 若x是mat矩阵,那就表示x内每个元素求平方 inf:表示正无穷 逻辑运算符:and,or,not 字典的get方法 a.get(k,d) 1 1 get相当于一条if ...
- 【Python 数据分析】Numpy模块
Numpy模块可以高效的处理数据,提供数组支持.很多模块都依赖他,比如:pandas.scipy.matplotlib 安装Numpy 首先到网站:https://www.lfd.uci.edu/~g ...
- python numpy模块
目录 numpy模块 一维数组 二维数组(用的最多的) 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的元素的替换 通过函数方法创建多维数组 矩阵的运算 点乘和转置(了解) 点乘必须 m*n ...
- Python及bs4、lxml、numpy模块包的安装
http://blog.csdn.net/tiantiancsdn/article/details/51046490(转载) Python及bs4.lxml.numpy模块包的安装 Python 的安 ...
- numpy模块(对矩阵的处理,ndarray对象)
6.12自我总结 一.numpy模块 import numpy as np约定俗称要把他变成np 1.模块官方文档地址 https://docs.scipy.org/doc/numpy/referen ...
- Python3:numpy模块中的argsort()函数
Python3:numpy模块中的argsort()函数 argsort函数是Numpy模块中的函数: >>> import numpy >>> help(nu ...
- 3 numpy模块
Numpy 什么是Numpy:Numeric Python Numpy模块是Python的一种开源的数值计算扩展. 1 一个强大的N维数组对象Array ...
- 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 ...
- Pathon中numpy模块
目录 numpy模块 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 fromstring/fromfunctions 矩阵的运算 常用矩阵运函数 矩阵的点乘 矩阵的逆 矩阵的其他操作 nump ...
随机推荐
- kubernetes发布tomcat服务,通过deployment,service布署(转)
1.制作tomcat镜像 参考docker tomcat镜像制作 此处直接拉取 查看已有可镜像 先设置docker阿里源,即添加 "registry-mirrors": [&quo ...
- Centos7.4 下cobbler安装及配置
1.背景介绍 作为运维,在公司经常遇到一些机械性重复工作要做,例如:为新机器装系统,一台两台机器装系统,可以用光盘.U盘等介质安装,1小时也完成了,但是如果有成百台的服务器还要用光盘.U盘去安装,就显 ...
- JAVA中注解的实现原理
注解的本质 「java.lang.annotation.Annotation」接口中有这么一句话,用来描述『注解』. The common interface extended by all anno ...
- idea 中的new file 没有jsp
idea 的new file中没有你需要的文件,原因是IDEA认为当前包下不应该创建该文件,以就没有创建该文件的选项. 以jsp 文件为例.其他文件类似. 解决方法: File ---> pro ...
- vue弹窗后如何禁止滚动条滚动?
原文地址 常见场景 在许多填写表单的页面中,都会弹出一个选择器,让你在弹窗中选择项目.有时,弹窗本身容纳不下内容,需要让它不断滚动来展示,但因为事件是冒泡的,有时就会造成底部(body 的Z-inde ...
- PTA --- L1-002 打印沙漏
题目地址 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对 ...
- Android OKHttp 可能你从来没用过的拦截器 【实用推荐】
前言 在平时开发中,你有没有下面这样的困扰呢? 场景一 明明是服务端的接口数据错误,而QA(测试)第一个找到的可能是客户端开发的你,为什么这个页面出现错误了? 而作为客户端开发的你,可能要拿出测试机连 ...
- 第10课.c++的新成员
1.动态内存分配 a.c++中通过new关键字进行动态内存申请 b.c++中的动态内存申请是基于类型进行的 c.delete关键字用于内存释放 2.new关键字与malloc函数的区别 a.new关键 ...
- Linux文件属性之时间戳及文件名知识详解
ls -lhi 7.8.9三列是时间(默认是修改时间) modify 修改时间 -----mtime 一般是修改文件内容 change 改变时间----ctime 文件的 ...
- 【转帖】CentOS 7 修改时区
CentOS 7 修改时区 https://www.cnblogs.com/yaohong/p/7269878.html timedatectl 以及 time 分类: 操作系统-CentOS u ...