【Numpy 基本操作】

Numpy 基本矩阵操作

首先,我们来看一些基本的 Numpy 矩阵操作:

1. 创建矩阵

import numpy as np

# 创建一维数组
a = np.array([1, 2, 3, 4])

# 创建二维数组
b = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

2. 获取矩阵的形状和数据类型

import numpy as np

a = np.arange(1, 11)
print("数组大小:", a.shape)
print("数组类型:", a.dtype)

3. 矩阵运算

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))

4. 索引和切片

import numpy as np

a = np.array([1, 2, 3, 4])

print("a的第一个元素为:", a[0])
print("a的前三个元素为:", a[:3])

5. 维度转换

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 处理缺失值

在现实数据中,经常会遇到缺失值的情况。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 值,从而处理了缺失值的情况。

你可能感兴趣的:(杂记,numpy)