NumPy 速成班:快速掌握数据处理秘诀
admin 阅读:146 2024-03-30
创建数组
要使用 NumPy,首先需要创建数组。数组是存储同类型元素的集合,可以使用 np.array() 函数创建:
import numpy as np
array = np.array([1, 2, 3, 4, 5])
print(array)输出:
[1 2 3 4 5]访问元素
我们可以使用索引来访问数组中的元素。索引从 0 开始,可以使用方括号:
print(array[0]) # 访问第一个元素
print(array[-1]) # 访问最后一个元素数组操作
NumPy 提供了各种数组操作,包括:
- 算术运算:
+,-,*,/ - 比较运算:
==,!=,<,> - 逻辑运算:
&,|,^ - 通用函数:
np.sin(),np.cos(),np.sqrt()
多维数组
NumPy 支持多维数组,也称为张量。要创建一个多维数组,需要在 np.array() 中提供嵌套列表:
array = np.array([[1, 2], [3, 4]])
print(array)输出:
[[1 2]
[3 4]]索引多维数组
要索引多维数组,可以使用多个索引:
print(array[0, 0]) # 访问第一行第一列的元素
print(array[1, 1]) # 访问第二行第二列的元素广播
广播是一种在不同形状的数组上执行算术运算的机制。它将较小的数组扩展到与较大数组相同的形状,以便进行逐元素运算。例如:
array1 = np.array([1, 2, 3])
array2 = np.array([[4], [5], [6]])
result = array1 * array2
print(result)输出:
[[ 4 8 12]
[ 5 10 15]
[ 6 12 18]]转置和广播
转置可以将数组的形状进行转换。NumPy 中的 np.transpose() 函数可以将行和列进行互换:
array = np.array([[1, 2], [3, 4]])
transposed_array = np.transpose(array)
print(transposed_array)输出:
[[1 3]
[2 4]]高级索引
NumPy 提供了高级索引功能,允许使用布尔索引数组来选择特定元素:
array = np.array([1, 2, 3, 4, 5])
mask = np.array([True, False, True, False, True])
filtered_array = array[mask]
print(filtered_array)输出:
[1 3 5]数据处理技巧
掌握 NumPy 的基础知识后,以下是一些数据处理技巧:
- 处理缺失值: 使用
np.isnan()和np.isnull()检测缺失值,并使用np.nanmean()和np.nanmedian()计算忽略缺失值后的平均值和中值。 - 数据归一化: 使用
np.max()和np.min()找到最大值和最小值,然后使用(array - np.min()) / (np.max() - np.min())将数据归一化到 0 到 1 之间。 - 降维: 使用
np.sum()、np.mean()或np.std()等函数对更高维的数组进行降维。 - 聚合: 使用
np.unique()、np.bincount()和np.histogram()等函数对数据进行聚合和分组。
声明
1、部分文章来源于网络,仅作为参考。 2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!



