numpy基础知识归纳
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
- 一个强大的N维数组对象 ndarray
- 广播功能函数
- 整合 C/C++/Fortran 代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
numpy 的属性:
- ndim:维度
- shape:行数和列数
- size:元素个数
Numpy 的创立 array
- array:创立数组
- dtype:指定数据类型
- zeros:创立数据全为0
- ones:创立数据全为1
- empty:创立数据接近0
- arrange:按指定范围创立数据
- linspace:创立线段
`
创立一个数组
a = np.array([1,26,8]) # list 1d
print(a)
[1 26 8]
指定数据 dtype
a = np.array([1,26,8],dtype=np.int32)
print(a.dtype)
int32
`
Numpy 基础运算 (讲两种)
算术运算符
`
a = np.arange(0,5)
array([0, 1, 2, 3, 4])
a+4
array([4, 5, 6, 7, 8])
`
最简单的就是给数组加上一个标量,而后每个都元素都加上这个标量,当然也可以减乘除。
这些运算符还可以用于两个数组的运算。在numpy中这些运算符是元素级的,即只用于位置相同的元素。
此外,这些运算符还适用于返回值为numpy数值的函数
聚合函数
聚合函数是指对一组值(比方一个数组)进行操作,返回一个单一值作为结果的函数。比方求数组所有元素之和就是聚合函数。
aarray([1, 2, 3, 4, 5])a.sum()15Numpy array 合并
Python中numpy数组的合并有很多方法,如
- np.append()
- np.concatenate()
- np.stack()
- np.hstack()
- np.vstack()
- np.dstack()
其中最泛用的是第一个和第二个。第一个可读性好,比较灵活,但是占内存大。第二个则没有内存占用大的问题。
Numpy array 分割
分割方法有:
- 水平分割
- 垂直分割
- 深度分割
水平分割
下面的代码将把数组沿着水平方向分割为3个相同大小的子数组:b = hsplit(a,3) print(b)
得到结果为:[array([[0], [3], [6]]), array([[1], [4], [7]]), array([[2], [5], [8]])]
垂直分割
下面的代码将把数组沿着垂直方向分割为3个相同大小的子数组:b = vsplit(a,3) print(b)
得到结果为:[array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
深度分割
先创立一个三维数组:a = arange(27).reshape(3,3,3) print(a)
调用dsplit函数按深度方向分割数组b = dsplit(a,3) print(b)
得到结果
`
[array([[[ 0],
[ 3],
[ 6]],
[[ 9], [12], [15]], [[18], [21], [24]]]),array([[[ 1],
[ 4],
[ 7]],
[[10], [13], [16]], [[19], [22], [25]]]),array([[[ 2],
[ 5],
[ 8]],
[[11], [14], [17]], [[20], [23], [26]]])]`
Numpy copy & deep copy
简单理解
numpy关于copy有三种情况,完全不复制、视图(view)或者者叫浅复制(shallow copy)和深复制(deep copy)。
增加公众号【数据蛙DataFrog】,我们一起学习交流
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » numpy基础知识归纳