Numpy数值计算

发布时间:2024年01月03日

目录

1 ndarray创建方法

1.1 创建ndarray

1.2 ndarray常用属性:

1.3 代码测试如下:

1.4 其他函数创建ndarray

1.5 生成随机数的ndarray

?1.6 代码演示如下:

?2 ndarray的基础操作

2.1 变换ndarray的形态?

2.2 展平ndarray?

2.3 组合ndarray?

?2.4 分割ndarray

2.5 未完待续......


Numpy提供了两种基本对象,即ndarray对象和ufunc对象。

1 ndarray创建方法

1.1 创建ndarray

NumPy 提供了多种创建 ndarray 的方式,其中 array 函数可以创建一维或多维 ndarray ,其基本语法格式如下。
numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
array 函数的常用参数说明:
参数名称说明
object

接收arraylisttuple等。表示用于创建ndarray的数据。无默认值

dtype

接收data-type。表示创建的ndarray的数据类型。如果未给定,那么选择保存对象所需的最小字节数的数据类型。无默认值

ndmin

接收int。指定生成ndarray应该具有的最小维数。默认为0

1.2 ndarray常用属性:

属性说明
ndim

返回int。表示ndarray的维数

shape

返回tuple。表示ndarray的尺寸,对于nm列的矩阵,形状将为(nm

size

返回int。表示ndarray的元素总数,这等于形状元素的乘积

dtype

返回data-type。描述ndarray中元素类型的对象

itemsize

返回int。表示ndarray的每个元素的大小(以字节为单位)。例如,数据类型float64具有itemsize 8= 64/8),数据类型的一个complex32具有itemsize 4= 32/8)。相当于ndarray.dtype.itemsize

1.3 代码测试如下:

import numpy as np
arr1 = np.array([1,2,3,4])
print('创建一维ndarray:',arr1)
arr2 = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print('创建二维ndarray:\n',arr2)
print('arr2的维数:',arr2.ndim)
print('arr2的形状:',arr2.shape)
print('arr2的元素个数:',arr2.size)
print('arr2的数据类型:',arr2.dtype)
print('arr2的每个元素大小:',arr2.itemsize)

运行结果截图:

1.4 其他函数创建ndarray

array 函数创建 ndarray 虽然通用,但并不方便。针对一些特殊的 ndarray NumPy 提供了其他的 ndarray 创建函数,如 下表 所示。
函数说明
arange

创建等差数列(指定开始值,终值和步长)

linspace

创建等差数列(指定开始值,终值和元素个数)

logspcae

创建等比数列

zeros

创建值全部为0的矩阵

eye

创建单位矩阵(对角线元素为1,其余为0

diag

创建对角矩阵(对角线元素为指定值,其余为0

ones

创建值全部为1的矩阵

1.5 生成随机数的ndarray

?1.6 代码演示如下:

import numpy as np
# 设置随机数种子  23无具体含义 仅代表seed分类
np.random.seed(23)
arr = np.random.randint(1,10,size= 12).reshape(3,4)
print('创建随机数ndarray  arr为:\n',arr)

?

?2 ndarray的基础操作

2.1 变换ndarray的形态?

  • reshape方法:原来ndarry不变。
import numpy as np
arr= np.arange(12)
print('创建的一维ndarray arr为:',arr)
arr1 = arr.reshape(3,4)
print('reshape方法执行完毕后 arr为:',arr)
print('reshape方法执行完毕后 arr1为:\n',arr1)

?

  • resize方法:直接作用于所操作的ndarray。??
import numpy as np
arr= np.arange(12)
print('创建的一维ndarray arr为:',arr)
arr.resize(3,4)
print('resize方法执行完毕后 arr为:\n',arr)

?

2.2 展平ndarray?

展平是指将多维ndarray转换成一维ndarray的操作过程,似乎一种特殊的ndarray形状变换。

  • ravel方法

  • flatten方法? 可以选择横向或者纵向展平。

2.3 组合ndarray?

  • ?hstack函数:横向组合

  • vstack函数:纵向组合

  • dstack函数:深度组合

?2.4 分割ndarray

  • hsplit函数:横向分割(按列分割,只适用于均等拆分)?
  • vsplit函数:纵向分割(按列分割,只适用于均等拆分)?
  • dsplit函数:深度分割(分割的ndarray必须是三维ndarry,且分割的数目必须为shape属性中下表为2的值得公约数)

2.5 未完待续......

文章来源:https://blog.csdn.net/kelouze06/article/details/135366637
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。