Numpy

1. Numpy重要功能如下:

NumPy(Numerical Python)是Python 语言的一个扩展程序库。是一个运行速度非常快的数学库,高性能科学计算和数据分析的基础包,主要用于数组计算。

包含:

1.一个强大的N维数组对象ndarray,多维数组,具有矢量运算能力,快速、节省空间;

2.矩阵运算,无需循环,可完成类似Matlab中的矢量运算;

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

4.广播功能函数;

5.整合C/C++/Fortran代码的工具

6.用于读写磁盘数据的工具以及用于操作内存映射文件的工具;

2. Numpy属性

NumPy的数组类被称作ndarray,通常被称作数组;

numpy和数学操作相关的库,numpy的数组是多维的,并且是固定类型的,numpy的数组是ndarray,主要用于:矩阵运算。

ndarray对象属性有:

属性 说明
ndarray.ndim 维度,是几层嵌套
ndarray. shape 形状,是几行几列
ndarray.size 大小,有几个元素
ndarray. dtype 元素的类型
ndarray.itemsize 元素的大小

数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性。

python 复制代码
#1.创建numpy的 ndarray对象.
arr1 = np.arange(15).reshape(3,5)
print(arr1)

print(f'numpy的轴:{arr1.ndim}')   #2
print(f'numpy的维度:{arr1.shape}')     #(3,5) 3行5列
print(f'numpy的元素类型:{arr1.dtype}')   #int32
print(f'numpy的元素个数:{arr1.size}')    #15
print(f'numpy的元素占用字节数:{arr1.itemsize}') #4
print(f'numpy的元素类型:{type(arr1)}')   # <class 'numpy.ndarray'>

3. 创建ndarray:

NumPy数组是一个多维的数组对象(矩阵),称为ndarray;ndarray的下标从0开始 ,且数组里的所有元素必须是相同类型

3.1 方式一:array() 创建 ndarray对象:(把python列表转成 ndarray对象)

python 复制代码
import numpy as ap

#1.创建python列表对象.
my_list=[11,22,33,44, 55]
print(type(my_list))    # <class 'list'>
#2.把python列表 ------> ndarray对象
arr2 = np.array(my_list)
print(arr2)         # [11,22,33,44, 55]
print(type(arr2))   # <class 'numpy.ndarray'>

3.2 方式二:arange() 创建 ndarray对象:

arange(起始, 结束, 步长, dtype=类型),类似于 Pythong中的range()函数, 创建一个一维ndarray数组。

python 复制代码
import numpy as ap

#1.创建ndarray对象.
arr3 = np.arange(0,10,2, dtype=np.float32l
#2.打印ndarray对象.
print(arr3) # [0.2.4.6.8.]<
print(type(arr3)) # <class 'numpy.ndarray'>
print(f'元素的类型:{arr3.dtype}') # 元素的类型:fLoat32

3.3 方式三:随机数生成ndarray(随机矩阵):

1.random.rand()生成0.0~1.0之间,包左不包右的随机小数矩阵;

2.random.randint(起始值,结束值,size=(行,列))生成指定范围,包左不包右的随机整数矩阵 ;

3, random.uniform(起始值,结束值,size=(行,列))生成指定范围,包左不包右的随机小数矩阵.

python 复制代码
import numpy as np

#1.random.rand()生成0.0~1.0之间,包左不包右的随机小数矩阵.
arr4 = np.random.rand(3,5)    #3行5列
print(arr4)
print(type(arr4))   # <class 'numpy.ndarray'>

#2.random.randint(起始值,结束值,size=(行,列))生成指定范围,包左不包右的随机整数矩阵.
arr5 = np.random.randint(3, 5, size=(2, 6)) #2行6列
print(arr5)
print(type(arr5))	# <class 'numpy.ndarray'>

#3.random.uniform(起始值, 结束值, size=(行 列)) 生成指定范围 包左不包右的 随机小数钜阵;
arr6 = np.random.uniform(3,9,size=(2, 6))
print(arr6)
printtype(arr6))	# <class 'numpy.ndarray'>

5. ndarray 的数据类型astype():

1.dtype参数,指定数组的数据类型,类型名+位数,如float64,int32

2.astype(),转换数组的数据类型;

python 复制代码
#初始化3行4列数组,数据类型为f1oat64
zeros_float_arr = np.zeros((3, 4), dtype=np.float64)
print(zeros_float_arr)
print(zeros_float_arr.dtype)    #float64
#astype转换数据类型,将已有的数组的数据类型转换为int32
zeros_int_arr = zeros_float_arr.astype(np.int32)
print(zeros_int_arr)
print(zeros_int_arr.dtype)      #int32
相关推荐
嗝o゚1 天前
CANN asnumpy 库——昇腾 NPU 原生 NumPy 兼容层
人工智能·numpy·cann·asnumpy
bloxed2 天前
【AI大模型--NumPy-07】高级线性代数完全指南
人工智能·线性代数·numpy
charlee442 天前
《GIS基础原理与技术实践》配套案例(Python版)
python·conda·numpy·gis·环境配置
fengchengwu20122 天前
NumPy 数组常用函数手册:从入门到进阶
numpy
威尔逊·柏斯科·希伯理3 天前
机器学习第一天(共12天)
人工智能·python·机器学习·conda·numpy·pandas·matplotlib
杭州的平湖秋月3 天前
Numpy 的基础索引、高级索引、布尔索引和 take_along_axis
python·numpy·高级索引
松☆4 天前
昇腾NPU的信号处理加速库,跟NumPy的FFT有啥区别?
numpy·信号处理
松☆4 天前
Triton推理服务接昇腾NPU,GE后端怎么搭?
华为·性能优化·numpy·信号处理·harmonyos
bloxed5 天前
【AI大模型--NumPy-06】随机数生成与蒙特卡洛模拟
人工智能·numpy