Numpy学习记录

一、什么是NumPy

  • NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库;
  • NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
    • 一个强大的N维数组对象 ndarray
    • 广播功能函数
    • 线性代数、傅里叶变换、随机数生成等功能

二、NumPy Ndarray对象

  • NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合
  • 0 下标为开始进行集合中元素的索引
  • 创建一个 ndarray 只需调用 NumPy 的 array 函数即可 
1 import numpy as np 
2 a = np.array([1,2,3])  
3 b = np.array([[1,  2],  [3,  4]])

三、NumPy数据类型

四、NumPy 数组属性

  • NumPy 数组的维数称为秩,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推;
  • 在 NumPy中,每一个线性的数组称为是一个轴(axis),轴的数量--秩,就是数组的维数;
  • 我们可以声明axis:axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作
  • ndarray.shape 表示数组的维度,返回一个元组
1 import numpy as np  
2 a = np.array([[1,2,3],[4,5,6]])  
3 print (a.shape)
  • ndarray.shape 也可以用于调整数组大小
1 import numpy as np 
2 a = np.array([[1,2,3],[4,5,6]]) 
3 a.shape =  (3,2)  
4 print (a)
  • NumPy 也提供了 reshape 函数来调整数组大小
1 import numpy as np 
2 a = np.array([[1,2,3],[4,5,6]]) 
3 b = a.reshape(3,2)  
4 print (b)

五、NumPy 创建数组

1、特殊数组的创建

  • numpy.empty:用于创建指定形状、数据类型且未初始化的数组

【说明】由于未对数据进行初始化操作,因此数组使用该方法创建出的数组元素为随机值

1 import numpy as np 
2 x = np.empty([3,2], dtype = int)
  • numpy.zeros:用于创建指定形状的数组,且数组中的元素使用0来填充

import numpy as np

# 默认为浮点数
x = np.zeros(5) 
print(x)
 
# 设置类型为整数
y = np.zeros((5,), dtype = np.int) 
print(y)
  • numpy.ones:用于创建指定形状的数组,且数组中的元素使用1来填充

1 import numpy as np
2  
3 # 默认为浮点数
4 x = np.ones(5) 
5 print(x)
6  
7 # 自定义类型
8 x = np.ones([2,2], dtype = int)
9 print(x)

2、从已有的数组中创建数组--numpy.asarray

  • 将列表转换为 ndarray
1 import numpy as np 
2  
3 x =  [1,2,3] 
4 a = np.asarray(x)  
5 print (a)

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

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

输出结果:[(1,2,3) (4,5)]
  • 设置了 dtype 参数
1 import numpy as np 
2  
3 x =  [1,2,3] 
4 a = np.asarray(x, dtype =  float)  
5 print (a)

3、从数组范围创建数组

  • numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

参数描述
start 序列的起始值
stop 序列的终止值,如果endpointtrue,该值包含于数列中
num 要生成的等步长的样本数量,默认为50
endpoint 该值为 true 时,数列中包含stop值,反之不包含,默认是True。
retstep 如果为 True 时,生成的数组中会显示间距,反之不显示。
dtype ndarray 的数据类型
  • numpy.arange(start, stop, step, dtype)

1 import numpy as np
2  
3 x = np.arange(5)  
4 print (x)
1 import numpy as np
2 a = np.linspace(1,10,10)
3 print(a)
原文地址:https://www.cnblogs.com/yif930916/p/14234289.html