| 1.1 Numpy是什么?
Numpy(Numerical Python)是用于处理数值数据的Python库。
Numpy包括可以执行各种数学运算的函数和数据结构。
要使用Numpy,我们首先需要导入它。
import numpy as np
Tips :np是用于导入numpy的最常用名称。
| 1.2 Numpy数组
在Python中,列表(list)用于存储数据。
Numpy提供了一种用于对数据执行操作的数据结构。
Numpy数组比列表更快、更紧凑。
可以使用np.array()函数创建Numpy数组,并为其提供一个列表作为参数。
x = np.array([1, 2, 3, 4])
现在,x是一个包含四个值的numpy数组。我们可以使用从0开始的索引访问它的元素。
print(x[0]) # 1
Tips :Numpy数组是同构的,这意味着它们只能包含一种数据类型,而列表可以包含多种不同类型的数据。
| 2.1 使用Numpy数组
Numpy数组通常被称为ndarrays,它代表N维数组(N-dimensional array)。因为它们可以有多个维度。
For example:
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(x)
print(x[1][2])
Tips :上述代码创建了一个二维数组,它有3列和3行,并输出第2行和第3列的值。
(列表的索引是从零开始的哦!)
数组具有可以使用点操作符访问的属性:
ndim : 返回数组的维数
size : 返回数组元素的总数
shape : 返回一个整数元组,指示沿数组每个维度存储的元素数。
For example:
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(x.ndim)
print(x.size)
print(x.shape)
Tips :因此,示例中的数组有2个维度,9个元素,并且是一个3x3矩阵(3行3列)。
| 2.2 Numpy数组方法
我们可以使用
np.append()、np.delete()、np.sort()函数添加、删除、和排序数组。
import numpy as np
x = np.array([2, 1, 3])
x = np.append(x, 4)
x = np.delete(x, 0)
x = np.sort(x)
print(x)
Tips :可以运行一下上面的代码,看看结果,判断一下传入的参数是具体的值还是索引呢?
我们还可以使用np.arange()创建一个包含一系列均匀间隔的数组(类似于Python中的range):(如果你不了解的话可以参见:python基础----控制结构( 三 ))
For example:
x = np.arange(2, 10, 3)
print(x) # [2, 5, 8]
| 3.1 改变数组形状
回想一下,形状是指数组中的行数和列数。
例如,让我们考虑以下数组:
x = np.arange(1, 7)
这是一个一维数组,包含 6 个元素。NumPy 允许我们使用 reshape() 函数更改数组的形状。例如,我们可以将一维数组更改为 3 行 2 列的数组:
z = x.reshape(3, 2)
print(z)
Tips :使用reshape函数时,要生成的数组需要与原始数组具有相同数量的元素。
reshape也可以做相反的事情:取一个二维数组并从中创建一个一维数组:
x = np.array([[1, 2], [3, 4], [5, 6]])
z = x.reshape(6)
Tips :使用 flatten() 函数可以获得相同的结果。
| 4.1 索引和切片(index & slice)
Numpy数组可以像Python列表一样使用索引和切片
python切片参见:python基础----控制结构( 三 )
For example:
x = np.arange(1, 10)
print(x[0:2])
print(x[5:])
print(x[:2])
print(x[-3:1])
| 4.2 条件(Conditions)
你可以提供一个条件作为索引来选择满足给定条件的元素。
例如,让我们选择小于4的元素:
x = np.arange(1, 10)
print(x[x < 4])
Tips :可以使用 &(and) 和 |(or)运算符组和条件。
x = np.arange(1, 10)
print(x[(x > 5) & (x % 2 == 0)])
Tips :条件也可以分配给一个变量,该变量将是一个布尔值数组,显示数组中的值是否满足条件:y = (x>5) & (x%2==0)。
| 5.1 数组操作(operations)
使用数组很容易执行基本的数学运算。
例如,要查找所有元素的综合,我们使用sum()函数:
x = np.arange(1, 10)
print(x.sum())
类似地、min()和max()可用于获取最小和最大元素。
我们还可以在数组和单个数字之间执行操作。例如,我们可以将所有元素乘以2:
x = np.arange(1, 10)
y = x*2
Tips :这种操作方式NumPy会理解应该对每个元素执行给定的操作,这称为广播。
| 5.2 统计数据(statistics)
还记得我们在前一个内容《数据科学---赋能未来,Python崛起》中学到的统计知识么?这些包括平均值、中位数、方差和标准偏差。
Numpy数组具有返回这些值的内置函数:
x = np.array([14, 18, 19, 24, 26, 33, 42, 55, 67])
print(np.mean(x)) # 平均数
print(np.median(x)) # 中位数
print(np.var(x)) # 方差
print(np.std(x)) # 标准差
| 6.1 写在最后
本节给大家介绍了数据科学三剑客之一的numpy。涉及到了常见的属性和函数,并且介绍了常见的数学操作。后续我们会继续介绍pandas和matplotlib。希望大家还是动手做一做,有问题可以私信我,欢迎交流和提出您的宝贵意见。
你要偷偷学Python,然后惊艳所有人。
-END-
感谢大家的关注
你关心的,都在这里