NumPy笔记-ndarray
ndarray,N维数组对象(矩阵)
- 所有元素必须是相同类型
- ndim属性,维度个数
- shape属性,各维度大小
- dtype属性,数据类型
创建ndarray
- np.array(collection),collection为序列对象(list),嵌套序列(list of list)
- np.zeros,np.ones,np.empty指定大小的全0或全1数组
注意:第一个参数是元组,用来指定大小,如(3,4),第二个参数是数据类型
empty不是总是返回全0,有时返回的是末初始的随机值
如:
np.zeros((3,4)) #3行4列 数值全为0的数组,里面的参数是元组 (3,4)
np.empty((3,3)) #3行3列,随机数组成的数组
np.empty((3,3),int) #ndarray 第一个元组(3,3) 第二个参数是数据类型 int
创建ndarray
np.arange()类似range() 注意是arange,不是英文的arrange
ndarray数据类型
- dtype,类型名+位数,如float64,int32
- 转换数组类型 astype
import numpy as np
zeros_float_arr = np.zeros((3,4),dtype = np.float64)
print(zeros_float_arr)
print(zeros_float_arr.dtype)
zeros_int_arr = zeros_float_arr.astype(np.int32)
print(zeros_int_arr)
print(zeros_int_arr.dtype)
矢量化
- 矢量运算,相同大小的数组健间的运算应用在元素上
- 适量和标量运算,"广播"-将标量"广播"到各个元素
矢量与矢量运算
arr = np.array([[1,2,3],
[4,5,6]])
矢量与标量运算
print(1./arr)
print(2*arr)
索引与切片
- 一维数组的索引与python的列表索引功能类似
- 多维数组的索引
arr(r1:r2,c1:c2]
arr[1,1]等价arr[1][1]
[:]代表某个维度的数据
如:[r1:,c1:] 从开始到所有
arr[:,1:3] 二维数组的所有行和第1第2两列
条件索引
- 布尔值多维数组 arr[condition] condition可以是多个条件组合
- 注意,多个条件组合要使用& | ,而不是and or
维数转换
- 转置transpose
- 高维数组转置要指定维度编号(0,1,2,....)
通用函数
- 元素级运算
常用的通用函数
- ceil,向上最接近的整数
- floor,向下最接近的整数
- rint,四舍五入
- isnan,判断元素是否为 NaN(Not a Number)
- multiply,元素相乘
- divide,元素相除
np.where
- 矢量版本的三元表达式 x if condition else y
- np.where(condition,x,y) 满足条件输出x,不满足条件输出y
- 如:
跟np.rint差不多
np.rint不会改变原数组的数值类型,如果需要,如可以用 arr.astype(np.int32)
常用的统计方法
- np.mean,np.sum
- np.max,np.min
- np.std,np.var
- np.argmax,np.argmin
- np.cumsum,np.cumprod
- 注意多维的要指定统计的维度,否则默认是全部维度上做统计.
np.any 判断是否数组里面任一值某一条件,如果有满足的,则为True,如果都不满足则为False
np.all 判断是否数组里面所有的值都满足某一条件,如果满足则为True,否则则为False
np.unique 找到唯一值并返回排序结果了 如下:
NumPy笔记-ndarray的更多相关文章
- 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...
- 什么是Numpy的ndarray
什么是Numpy的ndarray 首先,Numpy的核心是ndarray. 然后,ndarray本质是数组,其不同于一般的数组,或者Python 的list的地方在于它可以有N 维(dimention ...
- 发现Boost官方文档的一处错误(numpy的ndarray)
文档位置:https://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/numpy/tutorial/ndarray.html shape在这里 ...
- Numpy:ndarray数据类型和运算
Numpy的ndarray:一种多维数组对象 N维数组对象,该对象是一个快速而灵活的大数据集容器,nadarry是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的.每个数组都有一个 ...
- 理解numpy中ndarray的内存布局和设计哲学
目录 ndarray是什么 ndarray的设计哲学 ndarray的内存布局 为什么可以这样设计 小结 参考 博客:博客园 | CSDN | blog 本文的主要目的在于理解numpy.ndarra ...
- NumPy之:ndarray多维数组操作
NumPy之:ndarray多维数组操作 目录 简介 创建ndarray ndarray的属性 ndarray中元素的类型转换 ndarray的数学运算 index和切片 基本使用 index wit ...
- NumPy之:ndarray中的函数
NumPy之:ndarray中的函数 目录 简介 简单函数 矢量化数组运算 条件逻辑表达式 统计方法 布尔数组 排序 文件 线性代数 随机数 简介 在NumPy中,多维数组除了基本的算数运算之外,还内 ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- Numpy之ndarray与matrix
1. ndarray对象 ndarray是numpy中的一个N维数组对象,可以进行矢量算术运算,它是一个通用的同构数据多维容器,即其中的所有元素必须是相同类型的. 可以使用array函数创建数组,每个 ...
随机推荐
- FGPA_Microblaze UART 中断
由于底层所给函数发送与接收都采用中断,所用库函数比较复杂 ,有些更改涉及底层函数,因此结合网上论坛 .百度文库调试了串口中断接收程序.通过串口调试助手发送数据 ,以“发送新行”结束 . 硬件外设波特兰 ...
- Python time asctime()方法
描述 Python time asctime() 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07 ...
- lamp架构搭建
目录 1. LAMP架构介绍 2.web服务器工作流程 2.1 cgi与fastcgi 2.2 httpd与php结合的方式 2.3 web工作流程 3. lamp平台搭建 3.1 安装httpd 3 ...
- 实验03——java十进制转二、八、十六进制;打印'中'的十六进制;进制转换的api
package cn.tedu.demo; /** * @author 赵瑞鑫 E-mail:1922250303@qq.com * @version 创建时间:2020年7月16日 上午10:22: ...
- RxJS 中的观察者和迭代器模式
目录 前言 观察者模式 迭代器模式 RxJS 中两种模式的结合和实现 小结 参考 1. 前言 RxJS 是一个库,它通过使用observable(可观察对象)序列来编写异步和基于事件的程序.其结合了观 ...
- 使用git将本地仓库上传到远程仓库(转)
第一步:创建一个工程目录 执行: git init 第二步:把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点".",意为添加文件夹下的所有 ...
- “随手记”开发记录day08
今天完成了关于统计页面中的关于每月支出和每月收入的页面
- 入门python有什么好的书籍推荐?纯干货推荐,你值得一看 python基础,爬虫,数据分析
Python入门书籍不用看太多,看一本就够.重要的是你要学习Python的哪个方向,或者说你对什么方向感兴趣,因为Python这门语言的应用领域比较广泛,比如说可以用来做数据分析.机器学习,也可以用来 ...
- CodeReview 的经验和原则
资深的程序员都知道 Code Review 可以对代码质量,代码规范,团队代码能力提升带来很大的提升,还有著名的技术专家"左耳朵耗子"也说过: 我认为没有 Code Review ...
- for循环的插入元素
Scanner input = new Scanner(System.in); int[] num = new int[5]; for (int i = 0; i < num.length; ...