Numpy | ndarray数组基本操作
搞不懂博客园表格的排版。。。
说明:
0 ndarray :多维数组对象
1 np :import numpy as np
2 nda :表示数组的名称
1 生成数组
| 函数名 | 描述 |
| np.array | 将输入的数据转换为ndarray,默认复制所有的输入数据(深拷贝) |
| np.asarray | 将输入转换为ndarray,如果输入已经是ndarray则不再复制(浅拷贝) |
| np.arange |
1 使用Python的内置函数range,返回一个数组 2 创建等差数组 — 指定步长 (start,stop, step, dtype) |
| np.linspace | 创建等差数组 — 指定数量 (start, stop, num, endpoint) |
| np.logspace | 创建等比数列 (start,stop, num) |
| np.full | 根据给定形状和数据类型生成指定数值的数组 |
| np.full_like | 生成与给定数组形状一致,但内容是指定数值的数组 |
| np.random.randn | 产生的随机数组服从正态分布 |
| np.random.normal | (loc, scale, size) 按照size的形状返回均值为loc,标准差为scale的正态分布数组 |
| random.standard_normal | (size) 生成size形状的标准正态分布数组 |
| np.random.rand | 产生的随机数组服从均匀分布 |
| np.random.uniform | (low, high, size)均匀分布的数组 |
| np.random.randint | (low, high=None, size=None, dtype='l')从一个均匀分布中随机采样,生成一个整数或N维整数数组 |
2 ndarray 的属性
| 属性名 | 属性解释(返回) |
| ndarray.shape | 数组形状(元组) |
| ndarray.ndim | 数组维数 |
| ndarray.size | 数组中所有元素的数量 |
| ndarray.itemsize | 一个数组元素的长度(字节) |
| ndarray.dtype | 数组元素的类型 |
3 索引与切片
3.1 索引:从 0 计数
3.2 切片:对象[:, :] -- 先行后列
区别于 Python 的 list ,数组的切片是直接改动原数组,这意味着数据并不被复制,如果想要一份数组切片的拷贝,需要先复制这个数组,如 arr[5:7].copy()
4 修改数组
| 方法 | 描述 |
| nda.reshape(shape, order) | 返回一个具有相同数据域,但shape不一样的视图(相当于只进行数据重新划分)。行、列不进行互换,新产生一个ndarray |
| nda.resize(new_shape) | 修改数组本身的形状(需要保持元素个数前后相同),行、列不进行互换,修改原来的ndarray |
| nda.T | 数组转置 |
| nda.astype(type) | 返回修改了类型之后的数组 |
| nda.tostring() | 转化为字符串 |
| np.unique(对象) | 数组去重 |
5 ndarray 运算
| 分类 | 符号或函数 | 描述 |
| 逻辑运算 | > , <, == | |
| 通用判断函数 | np.all() | 是否全部... |
| np.any() | 是否有... | |
| 三元运算 | np.where(条件,符合返回,不符合返回) | |
| 基础统计方法 | np.min(adn, axis) | 最小 |
| np.max(adn, axis) | 最大 | |
| np.median(adn, axis) | 中位数 | |
| np.mean(adn, axis) | 平均数 | |
| np.std(adn, axis) | 标准差 | |
| np.var(adn, axis) | 样本方差 | |
| np.argmax(axis) | 最大元素对应的下标 | |
| np.argmin(axis) | 最小元素对应的下标 | |
| cumsum | 从零开始元素累计和 | |
| cumprod | 从零开始元素累计积 |
Numpy | ndarray数组基本操作的更多相关文章
- 解决Tensorflow ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type numpy.ndarray)
问题描述 在将一个数组送入tensorflow训练时,报错如下: ValueError: Failed to convert a NumPy array to a Tensor (Unsupporte ...
- Python开发:NumPy学习(一)ndarray数组
一.数据维度 一个数据表达一个含义,一组数据表达一个或多个含义. 数据维度概念:一组数据的组织形式,其中有一维数据.二维数据.多维数据.高维数据. 1. 一维数据 一维数据由对等关系的有序或无序数据 ...
- Numpy的ndarray数组基础
NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引. ndarray 对象是用于存放同类型元素的多维数组. 1.数组的 ...
- 3.2Python数据处理篇之Numpy系列(二)--- ndarray数组的创建与变换
目录 (一)ndarray数组的创建 1.从列表以元组中创建: 2.使用函数创建: (二)ndarray数组的变换 1.维度的变换: 2.类型的变换: 目录: 1.ndarray数组的创建 2.nda ...
- Numpy数组基本操作(数组索引,数组切片以及数组的形状,数组的拼接与分裂)
一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,N ...
- Numpy 创建数组
ndarray 数组除了可以使用底层 ndarray 构造器来创建外, 也可以通过以下几种方式来创建. numpy.empty numpy.empty 方法用来创建一个指定形状(shape),数据类型 ...
- NumPy Ndarray 对象
NumPy Ndarray 对象 NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引. ndarray 对象是用于存放 ...
- numpy.random.random & numpy.ndarray.astype & numpy.arange
今天看到这样一句代码: xb = np.random.random((nb, d)).astype('float32') #创建一个二维随机数矩阵(nb行d列) xb[:, 0] += np.aran ...
- Python中Numpy ndarray的使用
本文主讲Python中Numpy数组的类型.全0全1数组的生成.随机数组.数组操作.矩阵的简单运算.矩阵的数学运算. 尽管可以用python中list嵌套来模拟矩阵,但使用Numpy库更方便. 定义数 ...
随机推荐
- CSS选择器有哪几种?举例轻松理解CSS选择器
CSS选择器汇总(清爽版) 1.元素选择器 标签名{ } 2.id选择器 #id属性值{ } 3.类选择器 ·class属性值{ } 4.选择器分组(并集选择器) 作用:通过它可以同时选中多个选择器对 ...
- [dubbo 源码之 ]1. 服务提供方如何发布服务
服务发布 启动流程 1.ServiceConfig#export 服务提供方在启动部署时,dubbo会调用ServiceConfig#export来激活服务发布流程,如下所示: Java API: ` ...
- vscode自己常用的快捷键
(1)快速复制一行 ctrl + alt +
- kms在线激活windows和office
本激活,只适用vol版本的windows系统和office 激活windows在windows中使用管理员方式打开cmd命令输入slmgr /skms chongking.com切换kms服务器地址为 ...
- redis_入门
Redis_day01 1. NoSql 1.1 NoSql是什么 NoSQL(不仅仅是SQL not only SQL),泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在处 ...
- Android中实现长按照片弹出右键菜单
场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改为Lin ...
- std::sort为什么保证严格弱序?
这个问题是面试腾讯光子的时候面试官提的,当时的问题是:sort自定义comp函数能用>=吗?当时的我想comp函数只要函数签名是对的应该就没问题吧,于是答了可以.面试结束后总感觉哪里不对,耿耿于 ...
- Resnet——深度残差网络(一)
我们都知道随着神经网络深度的加深,训练过程中会很容易产生误差的积累,从而出现梯度爆炸和梯度消散的问题,这是由于随着网络层数的增多,在网络中反向传播的梯度会随着连乘变得不稳定(特别大或特别小),出现最多 ...
- 用Python20行代码实现人脸识别
OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python.注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑.为此小编建了个Python全栈免费答疑交 ...
- maven第一次创建项目太慢解决方法
问题: 第一次用maven创建项目的时候,因为本地仓库中没有jar包,需要从中央仓库下载,所以会比较慢 解决方法: 因为从中央仓库下载默认使用的国外的镜像下载,速度比较慢,我们可以把镜像修改为从阿里云 ...