2.1 数值计算库Numpy

第二章 数值计算库-NumPy

NumPy是Python中用于数据分析、机器学习、科学计算的重要软件包。它极大地简化了向量和矩阵的操作及处理。支持大维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,包括线性代数、傅里叶变换、随机数生成等功能。python的不少数据处理软件包依赖于NumPy作为其基础架构的核心部分,例如pandas、scikit-learn、SciPy和tensorflow等。

使用NumPy前需要导入NumPy库:

In [1]:

import numpy as np  #导入NumPy 库,通常简写为np 
np.__version__      #打印numpy版本

Out[1]:

'1.24.2'

NumPy 最重要的一个特点是其N维数组类ndarray,创建的数组对象是一系列同类型数据的集合,以0下标为开始进行集合中元素的索引。ndarray对象是用于存放同类型元素的多维数组。ndarray中的每个元素在内存中都有相同存储大小的区域。

2.1:创建NumPy数组对象

2.1.1:调用np.array创建NumPy数组

  • 创建一个ndarray只需调用NumPy的 array 函数:

numpy.array(object, dtype=None, copy=True, order='K',subok=False, ndmin=0) 参数较多,但最主要的参数是object,需要赋值,可以传Python的元组或列表。其他参数都有默认值,可以不再赋值。具体参数含义如下: 

以下为创建numpy数组示例:

  • 通过列表list创建numpy数组

In [2]:

arr1_1_1 = np.array([1, 2, 3, 4, 5]) 
print(arr1_1_1)
[1 2 3 4 5]
  • 通过元组tuple创建numpy数组

In [3]:

arr1_1_2 = np.array(('a','b','c','d')) 
print(arr1_1_2)
['a' 'b' 'c' 'd']

注意: 把变量名或表达式放在jupyter notebook的cell最后一行,无需print语句,Jupyter也会显示输出结果。

In [4]:

#不用print语句直接通过变量名输出该变量结果:
arr1_1_1

Out[4]:

array([1, 2, 3, 4, 5])

In [5]:

arr1_1_2

Out[5]:

array(['a', 'b', 'c', 'd'], dtype='<U1')

这种方式简化了输出,还有一个好处是输出了对应的数据类型,后面主要用这种模式输出

可以看出arr1_1_1和arr1_1_2都是NumPy数组,arr1_1_1数组元素为元素默认类型,而arr1_1_2数组元素类型为<U1。

<U1表示:

  • <表示字节顺序,小端(最小有效字节存储在最小地址中)

  • U表示Unicode,数据编码

  • 1表示元素的数据大小,即每个元素的最大多少个字符

如下,<U12表示数组的元素最多12个字符

In [6]:

np.array(['a'*12])

Out[6]:

array(['aaaaaaaaaaaa'], dtype='<U12')

In [7]:

np.array(['a']*12)

Out[7]:

array(['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'],
      dtype='<U1')

可以通过设置dtype参数来指定创建的数组元素数据类型,如我们在创建arr1_1_3数组时指定元素数据类型为float:

In [8]:

arr1_1_3 = np.array([1, 2, 3, 4, 5],dtype=float) 
arr1_1_3

Out[8]:

array([1., 2., 3., 4., 5.])

注意: NumPy数组的元素数据类型需要相同,类型不一致则会根据已知类型转换规则进行转换

In [9]:

arr1_1_4 = np.array(['a'*12,1, 2, 3, 4])  #将整型转换成string类型
arr1_1_4 

Out[9]:

array(['aaaaaaaaaaaa', '1', '2', '3', '4'], dtype='<U12')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenos121

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值