Python学习历程简友广场文艺大观园

介绍numpy数组

2022-12-05  本文已影响0人  心际花园

课程内容

NumPy和Python生态系统

NumPy是Python科学计算的核心库。

基本的Python库,如pandas、SciPy和Matplotlib,都构建在NumPy的API之上。

机器学习库如TensorFlow和scikit-learn也是如此,它们使用NumPy数组作为输入。

任何在Python中使用数字的人都会遇到NumPy数组。

那么它们是什么,我们如何创造它们?

Numpy数组

数组是 NumPy 中的主要对象;

它是一个保存数据的网格状结构。

数组可以有任意数量的维度,每个维度可以是任意长度。

导入Numpy

要开始使用,请导入 NumPy,将导入别名为 np。

import numpy as np

从列表创建一维数组

我们可以通过将列表作为参数传递给 np.array()函数来从 Python 列表创建数组。

此数组的数据类型是 NumPy n-d 数组或 n 维数组。


python_list = [3, 2, 5, 8, 4, 9, 7, 6, 1]

array = np.array(python_list)

array

type(array)

从列表创建 2D 数组

要创建二维数组,请向 npd.array() 传递列表的列表。

如您所料,列表的列表将生成一个二维数组。


python_list_of_lists =[[3,2,5],[9,7,1],[4,3,6]]

np.array(python_list_of_lists)

数组 vs. Python 列表

为什么使用数组而不是列表?

虽然 Python 列表可以包含许多不同的数据类型,但 NumPy 数组中的所有元素都必须是相同的数据类型

这使得 NumPy 非常高效:NumPy 不需要检查数组中每个元素的数据类型,因为它们必须都相同。

只有一种数据类型也意味着 NumPy 数组在内存中占用的空间比存储为 Python 列表的相同信息要少。

从头开始创建数组

我们已经看到了如何从 Python 列表创建 NumPy 数组。

我们还可以使用 np.zero()np.random.random()np.arange() 等函数从头开始创建它们。

创建数组: np.zeros()

np.zeros()创建一个充满零的数组。

我们可以像使用空的 Python 列表一样使用 zeros 数组,稍后用数据填充它。

我们使用整数元组告诉 np.zeros() 所需数组的形状,每个整数组代表给定维度的长度。

元组是用于存储数据集合的 Python 数据类型,类似于列表。

元组是使用括号而不是用于列表的方括号创建的。

在这里,当 np.zeros((5,3)) 被赋予一个由 5 和 3 组成的元组时,它会创建一个包含五行和三列的数组。

创建数组:np.random.random()

np.random.random() 也接受具有所需数组形状的元组。

数组将由 0 到 1 之间的随机浮点数组成。

为什么np.random.random()这样称呼,而不仅仅是np.random()

这是因为 np.random.random() 是 NumPy 随机模块中的一个函数,其中包含用于随机采样的有用函数。

np.random.random((2,4))

创建数组: np.arange()

np.arange()根据给定的开始和停止值创建一个均匀分布的数字数组。

默认情况下,np.arange() 创建一个连续整数数组。

起始值包含在输出数组中,但停止值不包含在内。

如果范围从零开始,则可以省略起始值。

如果传递第三个参数,则将其解释为步长值。

现在,元素之间的所需距离为 3。np.range()对于绘图特别有用!

np.arange(-3,4)

np.arange(4)

np.arange(-3,4,3)


from matplotlib import pyplot as plt

plt.scatter(np.arange(0,7),np.arange(-3,4))

plt.show()

开始练习

让我们将您的新技能用于您可能熟悉的网格状数据:数独游戏!

【一句话总结】

本节主要介绍Numpy数组和如何创建numpy数组。

什么是Numpy数组

数组是 NumPy 中的主要对象。

数组是一个保存数据的网格状结构。

数组可以有任意数量的维度,每个维度可以是任意长度。

数组元素的数据类型都一样,不需要检查数据类型,内存也小。

如何导入numpy

import numpy as np

如何创建numpy

从列表创建 np.array([])

np.zero((3,5))创建5行3列的0数组

np.random.random((2,4)) 创建2行4列的随机浮点数组

np.arange(-3,4,2) 创建从-3开始不包括4,步长为2的一维连续整数数组。

在可视化中创建图表时特别有用。

上一篇下一篇

猜你喜欢

热点阅读