Python数据分析入门(2)——Numpy

这篇博客介绍了NumPy中的N维数组(ndarray)概念,包括数据类型和维度属性。数组的数据类型可以是整型、浮点型等,且数组内元素类型一致。维度对应于数组的轴数,如一维、二维等。创建N维数组主要通过np.array()函数实现,可以创建一维、二维等数组。此外,文章还展示了数组与数的计算以及相同形状数组间的计算操作。
摘要由CSDN通过智能技术生成

N维数据结构(ndarray)

一、N维数组的基本概念和常用属性

顾名思义,N维数组(ndarray)是一个多维数组,描述了相同类型数据的集合
在这里插入图片描述
有很多属性可以描述N维数组,最常用的两个属性分别是数据类型和维度

比如,上一页中,我们用了「整型(int)」和「二维」来描述示例中的数组,依次对应的就是数组的数据类型和维度这两个属性。

1)数据类型

NumPy数组的 数据类型 指的是数组中存储的元素类型,可以是:整型(int)、浮点型(float)、布尔型(bool)等。

需要注意的是,NumPy数组中的所有元素类型必须是一致的

2)纬度

  • 一维空间相当于一根直线。在这样的空间里,只能前进或者后退,所以只有长度的概念。
  • 二维空间其实就是一个平面。在这个平面上,除了前进、后退以外,还可以向左或者向右,所以有长度和宽度的概念。
  • 三维空间就像是一个立方体。在这个空间里,除了前进、后退、向左和向右移动外,还可以向上或者向下,所以有长度、宽度和高度的概念。

NumPy数组的维度和我们平常说的维度非常相似,接触最多的通常是一维(1D)和二维(2D)数组,可以通过中括号[ ]的层数来确定
在这里插入图片描述
[…]表示一维数组,和Python中的列表长得很像。

在使用print()输出时,它们的区别在于数组之间的元素是用空格分隔,而列表是以逗号分隔。

一维数组的所有元素都在同一「行」里,一行中可以有很多元素。
在这里插入图片描述

[[…]]表示二维数组。

二维数组中的每个元素都是一个一维数组,并且每一行的元素数量都是一致的。

在二维数组中:
行数代表二维数组中一维数组的数量;
列数代表一维数组中元素的数量。
在这里插入图片描述
以此类推,[[[…]]]表示三维数组,三维数组中的每个元素都是一个二维数组;[[[[…]]]]表示四维数组,四维数组中的每个元素都是一个三维数组…

由于三维及三维以上的数组多用于复杂的科学计算中,平常很少能接触到,所以在这里我们就不进行系统地学习啦。
在这里插入图片描述

二、创建一个N维数组

1)安装和导入Numpy模块

安装numpy非常简单,在终端中输入代码:pip install numpy即可。如果在自己电脑上安装不上或安装缓慢,可在命令后添加如下配置进行加速:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装完后,下一步就是导入numpy。根据NumPy官方文档的倡导,在导入numpy时通常会使用「np」作为numpy的简写,方便以后调用。导入numpy的具体代码如下:

import numpy as np

2)创建n维数组

在导入numpy后,我们就可以开始创建N维数组啦~

创建N维数组的方式有很多,最简单的一种方式就是调用NumPy模块中的array()函数。

函数np.array()

np.array()是NumPy中用来创建N维数组的函数。

import numpy as np
arr =  np.array([1, 2, 3, 4, 5])
print(arr)

结果

[1 2 3 4 5]

掌握了如何创建一维数组后,我们来学习如何创建二维数组。把「序列中套了一个或多个序列」的数据结构作为参数传入np.array()函数里,会返回一个对应的二维数组。

3)N维数组的运算

我们将会从2个方向学习N维数组的计算:

1\ 数组和数的计算

当数组和数字进行计算的时候,NumPy会将该数字的计算过程应用到数组的所有元素上面。

示例中,在把数组arr和数字2相加时,arr中的每个元素都和2进行了运算:

# 使用import导入numpy,并使用"np"作为该模块的简写
import numpy as np

# 使用np.array()函数新建数组arr
arr = np.array([[0.2, 0.9], [0.5, 0.1], [0.1, 0.7]])

# 输出 arr+2 的运算结果
print(arr+2)

结果

[[2.2  2.9]
 [2.5  2.1]
 [2.1  2.7]]
相同形状数组的计算

当相同形状的数组进行计算时,运算也是在相应的元素上进行。

示例中,arrOne是一个2x3的二维数组,arrTwo也是一个2x3的二维数组。

在计算 arrOne-arrTwo 时,arrOne中每个元素都减去了在arrTwo中相对应位置的元素:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值