Python: Numpy 基础(一)

发布时间 2023-12-15 11:05:40作者: 49127

一、什么是Numpy(Numerical python)

Numpy是Python开源的科学计算工具包,属于高级的数值编程工具:

  • 强大的N维数组对象:ndarray
  • 对数组结构数据进行运算(不用遍历循环)
  • 随机数、线性代数、傅里叶变换等功能

关于Numpy一般需要掌握以下内容:

  • Numpy基础数据结构
  • Numpy通用函数
  • Numpy索引及切片
  • Numpy随机数
  • Numpy数据的输入输出

二、Numpy基础数据结构

  • Pycharm中安装numpy
pip install numpy
  • Numpy数组是一个多维数组对象,称为ndarray,其由两部分构成:

  1. 实际的数据
  2. 描述这些数据的元数据
import numpy as np # 导入模块
# list1 = [[1,2,3,4,5,6],[2,3,4,5,6,7],[3,3,4,5,6,7]]
# 列表转化为数组
ar=np.array([[1,2,3,4,5,6],[2,3,4,5,6,7],[3,3,4,5,6,7]])
print(list1) # 查看list
print(ar) # 查看数组
print(type(ar)) # 查看数组类型
print(ar.ndim) # 查看有多少个轴 # 一维数组就是一行 # 二维数组是多个一维数组 # 三维数组是多个二维数组 print(ar.shape) # 数组的维度,对于n行m列的数组,shape为(n,m) print(ar.size) # 总共的元素的个数 print(type(ar),ar.dtype) # ar的类型,数值的数据类型 print(ar.itemsize) # 每个元素的字节大小

1、如何创建数组

可以用array()函数来创建,括号内可以是列表、元祖、数组、生成器等:

ar1=np.array(range(10))
ar2=np.array(10)
ar3=np.array([1,2,3,4,5])
ar4=np.array([[1,2,3,4,5],[1,2,3,4,5]])
print(ar1)
print(ar2)
print(ar3)
print(ar4)
print(np.random.rand(10).reshape(2,5))

2、arange()

arange()类似于range(),在给定间隔内返回均匀间隔的数值:

print(np.arange(10)) # 返回0~9,整型
print(np.arange(10.0)) # 返回0.0~9.0,浮点型
print(np.arange(5,15)) # 返回5~14
print(np.arange(5.0,12.0,2)) # 返回5.0~12.0,步长为2
print(np.arange(100000000)) # 如果数组太大无法打印,Numpy会自动跳过数组中心部分

3、linspace()

linspace()可以用来返回在间隔[开始,停止]上计算的num个均匀间隔的样本:

print(np.linspace(10,15,num=20))

4、其他形式创建数组

print(np.zeros(10)) # 创建数组且用0填充
print(np.zeros((3,5),dtype=np.intp)) # dtype可以将元素变成整数
ar=np.array([list(range(10)),list(range(10,20))])
print(np.zeros_like(ar))

ar2=np.ones(9) # 用1填充
print(ar2)

print(np.eye(5)) # 中间数是1,其他都是0