首先,我们来看一些基本的 Numpy 矩阵操作:
import numpy as np
# 创建一维数组
a = np.array([1, 2, 3, 4])
# 创建二维数组
b = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
import numpy as np
a = np.arange(1, 11)
print("数组大小:", a.shape)
print("数组类型:", a.dtype)
import numpy as np
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
print("a+b=", a + b)
print("a-b=", a - b)
print("a*b=", a * b)
print("a/b=", a / b)
print("a的平方=", np.power(a, 2))
import numpy as np
a = np.array([1, 2, 3, 4])
print("a的第一个元素为:", a[0])
print("a的前三个元素为:", a[:3])
import numpy as np
a = np.arange(1, 13)
print("a的原始形状为:", a.shape)
# 利用 reshape 函数将 a 重构为 3 行 4 列的数组
b = np.reshape(a, (3, 4))
print("b的形状为:", b.shape)
print(b)
# 利用 flatten 函数将 b 降为 1 维
c = b.flatten()
print("c的形状为:", c.shape)
print(c)
在现实数据中,经常会遇到缺失值的情况。Numpy 提供了处理缺失值的方法,下面是一个例子:
import numpy as np
data = np.array([[1, np.nan, 3],
[4, 5, 6],
[7, np.nan, 9]])
# 计算每行的均值
row_means = np.nanmean(data, axis=1)
# 找出为 NaN 的元素
nan_indices = np.isnan(data)
# 根据均值替换 NaN 值
row_indices, col_indices = np.where(nan_indices)
data[row_indices, col_indices] = row_means[row_indices]
print(data)
在上述例子中,我们使用了 np.nanmean
函数计算每行的均值,np.isnan
函数找出为 NaN 的元素,并使用 np.where
函数获取这些元素的索引。然后,根据均值替换 NaN 值,从而处理了缺失值的情况。