python第三方库numpy-谁能介绍下Python生态中的第三方库NumPy

一、NumPy引见

1. 什么是NumPy

它是运用Python停止科学计算的根底包。它包含各种功用,包括以下重要功用:一个强大的N维数组对象

复杂的(播送)功用

用于集成C / C ++和Fortran代码的工具

具有线性代数、傅立叶变换和随机数等功用

除了明显的科学用处外,NumPy还能够用作通用数据的高效多维容器。能够运用Numpy定义恣意数据类型,允许NumPy无缝且快速地与各种数据库集成。

2. 装置NumPyMac和Linux的用户能够经过pip命令装置NumPy:pip install numpy

请运用python3版本停止装置。装置胜利后如下图:

DC25F77A-57D3-4AE4-829A-26BAB5C22DEC.png

Windows没有任何相似于linux或mac中的软件包管理器。请从此处下载NumPy的预构建Windows装置程序(依据您的系统配置和Python版本)。

然后手动装置软件包。

二、NumPy数组与它的属性

NumPy中主要对象是多维数组。它是一个元素表(通常是数字),都是相同的类型,由正整数索引元素。

NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。

在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)

NumPy的数组对象称为ndarray,它的别名叫做数组。

轴的数量——秩,就是数组的维数。

示例:[[ 1, 2, 3],[ 4, 2, 5]]秩为2,即这个数组它就有2维或有2个轴

第一维(轴)长度= 2,第二维度长度= 3

整体外形可表示为:(2, 3)

下面演示一下NumPy中数组的最根本的属性。import numpy as np# 创建一个数组arr = np.array([[1, 2, 3], [4, 2, 5]])# 输出数组的类型print("数组的类型: ", type(arr))# 轴的数量或维度的数量print("维度的数量: ", arr.ndim)# 数组的维度,对于矩阵,n行m列print("数组的维度: ", arr.shape)# 数组元素的总个数print("数组元素的总个数: ", arr.size)# ndarray对象的元素类型print("ndarray对象的元素类型: ", arr.dtype)

输出:数组的类型: 维度的数量: 2数组的维度: (2, 3)数组元素的总个数: 6ndarray对象的元素类型: int64

三、多种方式创立数组

有多种办法能够在NumPy中创立数组。例如,您能够运用数组函数运用 列表或元组创立数组。结果数组的类型是从序列中元素的类型推导出来的。

通常,数组的元素最初是未知的,但其大小是已知的。因而,NumPy提供了几个函数来创立具有初始占位符内容的数组。这些最小化了增加阵列的必要性。例如 np.zeros,np.ones,np.full,np.empty等。

为了创立数字序列,NumPy提供了一个相似于返回数组而不是列表的范围的函数。

**arange:**在给定的时间距离内返回平均距离的值。步长是指定的。

**linspace:**在给定的时间距离内返回平均距离的值。

重塑数组:我们能够运用重塑办法来重塑数组。思索一个具有外形的数组(a1,a2,a3,…,aN)。我们能够重塑并将其转换为另一个具有外形的数组(b1,b2,b3,…,bM)。独一需求的条件是:

a1 x a2 x a3 … x aN = b1 x b2 x b3 … x bM。(即阵列的原始大小坚持不变。)

展平数组:我们能够运用展平办法将数据的副本折叠到一个维度。它承受订单参数。默许值为“C”(关于行主要次第)。运用’F’作为列主要订单。

**留意:**创立数组时能够显式定义数组类型。import numpy as np# 使用float类型的数组数据创建数组a = np.array([[1, 2, 4], [5, 8, 7]], dtype='float')

print("使用float类型的数组数据创建数组: ", a)# 元组数据类型创建数组b = np.array((1, 3, 2))

print(" 元组数据类型创建数组: ", b)# 3X4的全零创建数组c = np.zeros((3, 4))

print(" 3X4的全零创建数组: ", c)# 复数创建数组d = np.full((3, 3), 6, dtype='complex')

print(" 复数创建数组: ", d)# 随机数创建数组e = np.random.random((2, 2))

print(" 随机数创建数组: ", e)# 以0~30步长为5的整数创建数组f = np.arange(0, 30, 5)

print(" 以0~30步长为5的整数创建数组: ", f)# 0~5之间的等差的10个值创建数组g = np.linspace(0, 5, 10)

print(" 0~5之间的等差的10个值创建数组: ", g)# 将3X4的数组转化为2X2X3的数组arr = np.array([[1, 2, 3, 4], [5, 2, 4, 2], [1, 2, 0, 1]])

newarr = arr.reshape(2, 2, 3)

print(" 将3X4的数组转化为2X2X3的数组: ", arr)

print("转化后: ", newarr)# 将数组转化为一维的数组arr = np.array([[1, 2, 3], [4, 5, 6]])

flarr = arr.flatten()

print(" 将数组转化为一维的数组: ", arr)

print("转化后: ", flarr)

输出:使用float类型的数组数据创建数组:

[[1. 2. 4.]

[5. 8. 7.]]

元组数据类型创建数组:

[1 3 2]3X4的全零创建数组:

[[0. 0. 0. 0.]

[0. 0. 0. 0.]

[0. 0. 0. 0.]]

复数创建数组:

[[6.+0.j 6.+0.j 6.+0.j]

[6.+0.j 6.+0.j 6.+0.j]

[6.+0.j 6.+0.j 6.+0.j]]

随机数创建数组:

[[0.66694019 0.6944897 ]

[0.11728555 0.21673665]]

以0~30步长为5的整数创建数组:

[ 0 5 10 15 20 25]0~5之间的等差的10个值创建数组:

[0. 0.55555556 1.11111111 1.66666667 2.22222222 2.77777778

3.33333333 3.88888889 4.44444444 5. ]

将3X4的数组转化为2X2X3的数组:

[[1 2 3 4]

[5 2 4 2]

[1 2 0 1]]

转化后:

[[[1 2 3]

[4 5 2]]

[[4 2 1]

[2 0 1]]]

将数组转化为一维的数组:

[[1 2 3]

[4 5 6]]

转化后:

[1 2 3 4 5 6]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值