NumPy的教程--数组,基本运算
来源:互联网 发布:三菱变频器调试软件 编辑:程序博客网 时间:2024/06/05 01:03
例如,在3D空间一个点的坐标 [1, 2, 3] 是一个秩为1的数组,因为它只有一个轴。那个轴长度为3.又例如,在以下例子中,数组的秩为2(它有两个维度).第一个维度长度为2,第二个维度长度为3.
ndarray.ndim
数组轴的个数,在python的世界中,轴的个数被称作秩
ndarray.shape
数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性
ndarray.size
数组元素的总个数,等于shape属性中元组元素的乘积。
ndarray.dtype
一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型。
ndarray.itemsize
数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).
ndarray.data
包含实际数组元素的缓冲区,通常我们不需要使用这个属性,因为我们总是通过索引来使用数组中的元素。
arange()类似于内置函数range(),通过指定开始值、终值和步长
linspace()通过指定开始值、终值和元素个数
>>>from numpy import *>>>a = arange(15).reshape(3,5)
>>>aarray([[0,1,2,3,4],
[5,6,7,8,9],
[10,11,12,13,14]])
>>>a.shape
(3,5)
>>>a.ndim
2
>>>a.dtype.name'int32'
>>>a.itemsize
4
>>>a.size
15
>>>type(a)
numpy.ndarray
a = array(1,2,3,4)# WRONG,不能这么赋值
>>> b = array( [ (1.5,2,3), (4,5,6) ] )
>>> b
array([[1.5,2. , 3. ],
[4. , 5. , 6. ]]) #多维数组
数组类型可以在创建时显示指定
>>> c = array( [ [1,2], [3,4] ], dtype=complex)
>>> carray([[1.+0.j,2.+0.j], [ 3.+0.j,4.+0.j]])
函数
zeros
创建一个全是0的数组,函数ones
创建一个全1的数组,函数empty
创建一个内容随机并且依赖与内存状态的数组。默认创建的数组类型(dtype)都是float64。>>> zeros( (3,4) )array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]])>>> ones( (2,3,4), dtype=int16 ) # dtype can also be specifiedarray([[[ 1, 1, 1, 1], [ 1, 1, 1, 1], [ 1, 1, 1, 1]], [[ 1, 1, 1, 1], [ 1, 1, 1, 1], [ 1, 1, 1, 1]]], dtype=int16)>>> empty( (2,3) )array([[ 3.73603959e-262, 6.02658058e-154, 6.55490914e-260], [ 5.30498948e-313, 3.14673309e-307, 1.00000000e+000]])
arange返回的是数组而不是列表
arange(0,2,0.3 ) # it accepts float arguments
array([0. , 0.3,0.6,0.9,1.2,1.5,1.8])
如果一个数组用来打印太大了,NumPy自动省略中间部分而只打印角落
>>> print arange(10000)[ 0 1 2 ..., 9997 9998 9999]>>>>>> print arange(10000).reshape(100,100)[[ 0 1 2 ..., 97 98 99] [ 100 101 102 ..., 197 198 199] [ 200 201 202 ..., 297 298 299] ..., [9700 9701 9702 ..., 9797 9798 9799] [9800 9801 9802 ..., 9897 9898 9899] [9900 9901 9902 ..., 9997 9998 9999]]
禁用NumPy的这种行为并强制打印整个数组,你可以设置printoptions参数来更改打印选项。
>>> set_printoptions(threshold='nan')
NumPy中的乘法运算符 *
指示按元素计算,矩阵乘法可以使用dot
函数或创建矩阵对象实现>>>A = array( [[1,1],...
[0,1]] )
>>>B = array( [[2,0],...
[3,4]] )
>>>A*B# elementwise product
array([[2,0],
[0,4]])
>>>dot(A,B) # matrix product
array([[5,4],
[3,4]])
>>>aarray([[0.6903007 , 0.39168346,0.16524769],
[0.48819875,0.77188505,0.94792155]])
>>>a.sum()3.4552372100521485
>>>a.min()0.16524768654743593
>>>a.max()0.9479215542670073
>>>d = exp(c*1j) #指数,求复数
>>>darray([0.54030231+0.84147098j, -0.84147098+0.54030231j, -0.54030231-0.84147098j])
>>>d.dtype.name'complex128' 许多非数组运算,如计算数组所有元素之和,被作为ndarray类的方法实现
指定 axis
参数你可以吧运算应用到数组指定的轴上:axis=0,纵向运算,axis=1,横向运算
>>> b = arange(12).reshape(3,4)>>> barray([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])>>>>>> b.sum(axis=0) # sum of each columnarray([12, 15, 18, 21])>>>>>> b.min(axis=1) # min of each rowarray([0, 4, 8])>>>>>> b.cumsum(axis=1) # cumulative sum along each rowarray([[ 0, 1, 3, 6], [ 4, 9, 15, 22], [ 8, 17, 27, 38]])
- NumPy的教程--数组,基本运算
- Numpy 中数组和矩阵的基本运算
- Numpy 数组基本运算 (五)
- numpy教程:numpy基本数据类型及多维数组元素存取
- Numpy-数组的基本操作
- Numpy学习笔记3-数组的运算
- NumPy 基本运算
- 基本运算 NumPy
- NumPy 数组矩阵运算
- Python+Numpy------数组运算
- numpy数组运算
- Python教程:numpy的基本介绍
- NumPy数组基本的索引和切片
- Numpy-数组的基本操作(二)
- numpy的基本用法(一)——基本运算
- numpy的基本用法(二)——基本运算
- numpy数组基本操作
- numpy教程:数组创建
- discuz登陆相关
- Android中JSON数据的解析
- Unity关于图形学基础-矩阵的行列式(六)
- 读书笔记
- Android的Binder的起源-android学习之旅(100)
- NumPy的教程--数组,基本运算
- Maven快速入门
- Deep learning:二十九(Sparse coding练习)
- 类String的构造函数、析构函数和赋值函数
- oracle的索引类型及sql优化总结(一)
- Deep learning:三十(关于数据预处理的相关技巧)
- Deep learning:三十一(数据预处理练习)
- LeetCode 104 Maximum Depth of Binary Tree
- Deep learning:三十二(基础知识_3)