Python+Excel系列:数组计算的数学模块—NumPy:数组的基础知识、数组的创建(np.array(列表))

文章目录

  • 初识numpy模块
    • 1.数组的基础知识
    • 2.数组的创建
      • (1)创建一维数组
      • (2)创建二维数组

初识numpy模块

NumPy模块的名称是由“Numerical Python”缩写而来,这个模块是 一个运行速度非常快的数学模块,主要用于数组计算。

1.数组的基础知识

NumPy模块的主要特点就是引入了数组的概念。因为一维数组和列 表有相似之处,所以这里借助列表来讲解数组的基本概念。

import numpy as np

a = [1,2,3,4]
b = np.array([1,2,3,4]) #创建数组的一种方式,array就是数组的意思
print(a) #输出变量a的值
print(b) #输出变量b的值
print(type(a)) #输出变量a的数据类型
print(type(b)) #输出变量b的数据类型

运行结果
Python+Excel系列:数组计算的数学模块—NumPy:数组的基础知识、数组的创建(np.array(列表))_第1张图片

[1, 2, 3, 4] #列表的展现形式
[1 2 3 4] #数组的展现形式
<class 'list'> #变量a的数据类型为列表
<class 'numpy.ndarray'> #变量b的数据类型为数组

从运行结果可以看出,列表和数组有着相似的元素索引机制,唯一的区别就是数组中的元素用空格分隔,而列表中的元素用逗号分隔。那么NumPy模块为什么不直接使用列表来组织数据,而要引入数组这一新 的数据结构呢?原因有很多,这里主要讲两点。

第一,数组能很好地支持一些数学运算,而用列表来完成这些数学 运算则较为麻烦。

import numpy as np

a = [1,2,3,4]
b = np.array([1,2,3,4])
c = a*2
d = b*2
print(c)
print(d)

运行结果
Python+Excel系列:数组计算的数学模块—NumPy:数组的基础知识、数组的创建(np.array(列表))_第2张图片
从运行结果可以看出:同样是做乘法运算,列表是把元素复制了一遍,而数组则是对每个元素都进行了乘法运算。

第二,数组可以存储多维数据,而列表通常只能存储一维数据。

import numpy as np

e = [[1,2],[3,4],[5,6]] #大列表里嵌套小列表
f = np.array([[1,2],[3,4],[5,6]]) #创建二维数组的一种形式
print(e)
print(f)

运行结果:
Python+Excel系列:数组计算的数学模块—NumPy:数组的基础知识、数组的创建(np.array(列表))_第3张图片

可以看到,列表e虽然包含了3个小列表,但其结构是一维的。而数组f则是3行2列的二维结构,这也是之后要学习的pandas模块的核心概念之一,因为数据处理中经常用到二维数组,即二维的表格结构。

2.数组的创建

(1)创建一维数组

常见方式一:np.array(列表)

常见方式二:用np.arange()

import numpy as np

#1个参数:起点取默认值0,参数值为终点,步长取默认值1,左闭右开
x = np.arange(5)
#2个参数:第1个参数为起点,第2个参数为终点,步长取默认值1,左闭右开
y = np.arange(5,10)
# 3个参数:第1个参数为起点,第2个参数为终点,第3个参数为步长,左闭右开
z = np.arange(5,10,2)
print(x)
print(y)
print(z)

运行结果
Python+Excel系列:数组计算的数学模块—NumPy:数组的基础知识、数组的创建(np.array(列表))_第4张图片
以用np.random中的函数创建随机一维数组

:用 np.random.randn(3)创建一个一维数组,其中包含服从正态分布(均值为 0、标准差为1的分布)的3个随机数。

import numpy as np

c = np.random.randn(3)
print(c)

运行结果:
Python+Excel系列:数组计算的数学模块—NumPy:数组的基础知识、数组的创建(np.array(列表))_第5张图片

(2)创建二维数组

①np.arange()函数和 reshape()函数

:将包含0~11这12个整数的一维数组转换成3行4列的二维数组

import numpy as np

d = np.arange(12).reshape(3,4)
print(d)

运行结果
Python+Excel系列:数组计算的数学模块—NumPy:数组的基础知识、数组的创建(np.array(列表))_第6张图片

②创建随机整数二维数组:np.random.randint()函数

import numpy as np

e = np.random.randint(0,10,(4,4))
print(e)

运行结果
Python+Excel系列:数组计算的数学模块—NumPy:数组的基础知识、数组的创建(np.array(列表))_第7张图片
代码解析

第2行代码中的np.random.randint()函数用来创建随机整数,括号里第1个参数0为起始数,第2个参数10为终止数第3个参数(4,4)则表示创建一个4行4列的二维数组

你可能感兴趣的:(python+Excel,python,矩阵,开发语言)