numpy 其它常用方法
一、创建特殊的数组
1、ones()
语法
- np.ones(shape, dtype=None)
- # shape 创建数组的shape
- # dtype 指定数组的数据类型
例子
- import numpy as np
- arr1 = np.ones((3, 4), dtype="int64")
- print(arr1)
- print(arr1.dtype)
2、zeros
语法
- np.zeros(shape, dtype=None)
- # shape 创建数组的shape
- # dtype 指定数组的数据类型
例子
- import numpy as np
- arr1 = np.zeros((8, ), dtype="int64")
- print(arr1)
- print(arr1.dtype)
3、eye
正方形数组,对角线为1,其它为0
语法
- eye(N, dtype=float)
- # N 数组的轴长度
- # dtype 数据的类型
例子
- import numpy as np
- arr1 = np.eye(3, dtype=int)
- print(arr1)
- print(arr1.dtype)
二、生成随机数组
1、rand
语法
- np.random.rand(*shape)
- # 创一个随机数组,数值范围0~1
例子
- import numpy as np
- a = np.random.rand(*(3, 4))
- print(a)
2、randn
语法
- np.random.randn(*dn)
- # 标准正太分布随机数,浮点数,平均数为0,标准差1
- # dn shape
例子
- import numpy as np
- a = np.random.randn(*(3, 4))
- print(a)
3、randint 最常用
语法
- np.random.randint(low, high=None, size=None)
- # 生成随机整数
- # low 最小值
- # high 最大值
- # size 和 shape一样
例子
- import numpy as np
- a = np.random.randint(5, 10, (3, 4))
- print(a)
4、uniform
语法
- np.random.uniform(low=0.0, high=1.0, size=None)
- # 产生具有均匀分布的数组
- # low 起始值
- # high 结束值
- # size 和shape一样
例子
- import numpy as np
- a = np.random.uniform(2, 4, (3, 4))
- print(a)
5、normal
语法
- np.random.normal(loc=0.0, scale=1.0, size=None)
- # 从指定的正太分布中随机抽样
- # loc 分布中心
- # scale 标准差
- # size 形状
例子
- import numpy as np
- a = np.random.normal(0, 4, (3, 4))
- print(a)
6、seed
语法
- np.random.seed(s)
- # 随种子,s是给定的种子值,通过这种方式后面的随机数是第一次生成的随机数
例子
- import numpy as np
- np.random.seed(10)
- # a是第一次生成的随机数
- a = np.random.randint(2, 8, (3, 4))
- print(a)
三、copy和view
1、a=b 完全不赋值,a和b互相影响
2、a=b[:], 视图的操作,一种切片,会创建新的对象a,但是a的数据完全由b保管,他们两个的数据变化是一致的
3、a=b.copy(),复制,a和b互不影响
四、获取最大值和最小值的位置
1、获取最小值的位置
语法
- argmin(a, axis=None)
- # 获取对应轴的最小值的位置
- # a 数组
- # axis 轴
例子
- import numpy as np
- np.random.seed(1)
- arr1 = np.random.randint(10, 100, (3, 4))
- print(arr1)
- a = np.argmin(arr1, axis=1)
- print(a)
2、获取最大值的位置
语法
- argmax(a, axis=None)
- # 获取对应轴的最大值的位置
- # a 数组
- # axis 轴
例子
- import numpy as np
- np.random.seed(1)
- arr1 = np.random.randint(10, 100, (3, 4))
- print(arr1)
- a = np.argmax(arr1, axis=0)
- print(a)
numpy 其它常用方法的更多相关文章
- 『Numpy』常用方法记录
numpy教程 防止输出省略号 import numpy as np np.set_printoptions(threshold=np.inf) 广播机制 numpy计算函数返回默认是一维行向量: i ...
- numpy 模块常用方法
Numpy是科学计算库,是一个强大的N维数组对象ndarray,是广播功能函数.其整合C/C++.fortran代码的工具 ,更是Scipy.Pandas等的基础 .ndim :维度 .shape : ...
- numpy库:常用基本
numpy 本文主要列出numpy模块常用方法 大部分内容来源于网络,而后经过自己的一点思考和总结,如果有侵权,请联系我 我是一名初学者,有哪些地方有错误请留言,我会及时更改的 创建矩阵(采用ndar ...
- numpy创建矩阵常用方法
numpy创建矩阵常用方法 arange+reshape in: n = np.arange(0, 30, 2)# start at 0 count up by 2, stop before 30 n ...
- numpy中pad函数的常用方法
一.参数解释 ndarray = numpy.pad(array, pad_width, mode, **kwargs) array为要填补的数组 pad_width是在各维度的各个方向上想要填补的长 ...
- numpy 常用方法2
Python之Numpy基础 一个栗子 >>> import numpy as np >>> a = np.arange(15).reshape(3, 5) & ...
- Pandas 与 Numpy 常用方法总结
Lambda 函数实现 简单的说,lambda 就是一个函数,但是这个函数没有名字,所以我们介绍一下这个函数的调用形式,参数与返回值的实现. lambda 的格式如下: lambda [arg1 [, ...
- Numpy常用方法及应用总汇
目录 Numpy 1.基本操作 1.1数组转换 1.2数组生成 1.3文件读取 1.4查看操作 2.数据类型 2.1指定数据类型: 2.2查看数据类型 2.3数据类型转换 3.数组运算 3.1数组间运 ...
- numpy中的nan和常用方法
1.数组的拼接 import numpy as np t1 = np.array([[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11]]) t2 = np.array([ ...
随机推荐
- HDU 3974 Assign the task
Assign the task Problem Description There is a company that has N employees(numbered from 1 to N),ev ...
- dijkstra堆优化(multiset实现->大大减小代码量)
例题: Time Limit: 1 second Memory Limit: 128 MB [问题描述] 在电视时代,没有多少人观看戏剧表演.Malidinesia古董喜剧演员意识到这一事实,他们想宣 ...
- Vue中通过属性绑定为元素绑定style行内样式
1.直接在元素上通过:style的形式,书写样式对象 2.将样式对象定义在data中,并直接引用到:style中 3.在:style中通过数组,引用多个data上的样式对象
- windows编译caffe2遇到的问题
首先介绍下window编译caffe2整体流程: 说明:如果不需要python支持只需3.4即可,而且编译亦不会出现问题. 1. 安装python2.7,. 我使用的是anaconda python2 ...
- 【NOIP数据结构专项】单调队列单调栈
[FZYZ P1280 ][NOIP福建夏令营]矩形覆盖 Description 有N个矩形,矩形的底边边长为1,且均在X轴上,高度给出,第i个矩形的高为h[i],求最少需要几个矩形才能覆盖这个图形. ...
- 几个关于2-sat的题
几个关于2-sat的题 HDU3062 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3062 题意: 从2n个人去宴会,有 m条关系 i和j不能同时去 ...
- Tomcat 类加载器打破双亲委派模型
我们分为4个部分来探讨: 1. 什么是类加载机制? 2. 什么是双亲委任模型? 3. 如何破坏双亲委任模型? 4. Tomcat 的类加载器是怎么设计的? 我想,在研究tomcat 类加载之前,我们复 ...
- mysql5.7密码修改与报错分析
1.修改密码 修改密码: vim /etc/my.cnf 的mysqld字段加入skip-grant-tables 重启MySQL,service mysqld restart 终端输入 mysql ...
- slim中的请求头
请求头 每个 HTTP 请求都有请求头.这些元数据描述了 HTTP 请求,但在请求体中不可见.Slim 的 PSR 7 请求对象提供了几个检查请求头的方法. 获取所有的请求头,返回一个数组:getHe ...
- Struts2和Spring集成
Spring是一个流行的Web框架,它提供易于集成与很多常见的网络任务.所以,问题是,为什么我们需要Spring,当我们有Struts2?Spring是超过一个MVC框架 - 它提供了许多其它好用的东 ...