numpy学习笔记

numpy1

应用

  • 一个强大的N维数组对象 ndarray

  • 广播功能函数

  • 整合 C/C++/Fortran 代码的工具

  • 线性代数、傅里叶变换、随机数生成等功能

Numpy学习&示例

对象

创建一个 ndarray 只需调用 NumPy 的 array 函数即可:

(numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0))

名称 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度

数组

  • 数组属性

darray.ndim 用于返回数组的维数,等于秩。

mport numpy as np   
a = np.arange(24)   
print (a.ndim)     # a 现只有一个维度 # 现在调整其大小 b = a.reshape(2,4,3)  # b 现在拥有三个维度
print (b.ndim)
输出结果:
1
3

ndarray.shape

ndarray.shape 表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。比如,一个二维数组,其维度表示"行数"和"列数"。ndarray.shape 也可以用于调整数组大小。

import numpy as np    
a = np.array([[1,2,3],[4,5,6]])   
print (a.shape)
#输出结果为:
(2, 3)

调整数组大小

import numpy as np   
a = np.array([[1,2,3],[4,5,6]])  
a.shape =  (3,2)   
print (a)
#输出结果为
[[1 2]
[3 4]
[5 6]]

NumPy 也提供了 reshape 函数来调整数组大小。

import numpy as np 
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print (b)
#输出结果为
[[1 2]
 [3 4]
 [5 6]]

创建数组

应用numpy.empty方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组:numpy.empty(shape, dtype = float, order = 'C')

创建空数组

import numpy as np 
x = np.empty([3,2], dtype = int) 
print (x)
#输出结果为
[[ 6917529027641081856  5764616291768666155]
 [ 6917529027641081859 -5764598754299804209]
 [          4497473538      844429428932120]]
##注意 − 数组元素为随机值,因为它们未初始化。

创建一0为填充的数组——np.zero() [以1为填充使用np.one()]

import numpy as np
 
# 默认为浮点数
x = np.zeros(5) 
print(x)
 
# 设置类型为整数
y = np.zeros((5,), dtype = int) 
print(y)
 
# 自定义类型
z = np.zeros((2,2), dtype = [('x', 'i4'), ('y', 'i4')])  
print(z)
#输出结果为
[0. 0. 0. 0. 0.]
[0 0 0 0 0]
[[(0, 0) (0, 0)]
 [(0, 0) (0, 0)]]

从已有的数组创建数组(numpy.asarray)

参数 描述
a 任意形式的输入参数,可以是,列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组
dtype 数据类型,可选
order 可选,有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
  • 将列表转换为 ndarray

    import numpy as np 
    x =  [1,2,3] 
    a = np.asarray(x)  
    print (a)
    #输出结果为
    [1  2  3]
    
  • 将元组转换为 ndarray

    import numpy as np 
    x =  (1,2,3) 
    a = np.asarray(x)  
    print (a)
    #输出结果为
    [1  2  3]
    
  • 将元组列表转换为 ndarray

    import numpy as np 
    x =  [(1,2,3),(4,5)] 
    a = np.asarray(x)  
    print (a)
    #输出结果为
    [(1, 2, 3) (4, 5)]
    
  • numpy.frombuffer

你可能感兴趣的:(python)