欢迎来到Python数据分析的世界!对于初学者来说,NumPy是你的第一站,它是Python科学计算的基石,特别是当你想要处理数组和进行大规模数据操作时。本文专为那些希望深入了解并掌握NumPy核心功能的数据分析新手设计。我们将通过10个实用的应用示例,带你从基础操作到一些高级技巧,让你的数据分析之旅更加顺畅。
应用示例:
创建数组:
import numpy as nparr = np.array([1, 2, 3, 4])print("简单数组:", arr)
这段代码创建了一个一维数组,并打印出来。
解释:np.array()是创建NumPy数组的基本函数,它接受列表、元组等作为输入。
改变形状:
arr_2d = arr.reshape(2, 2)print("二维数组:", arr_2d)
通过reshape,我们可以不改变数据的情况下,调整数组的形状。
加法与乘法:
arr_add = arr + 10arr_mult = arr * 2print("加10:", arr_add, "/n乘2:", arr_mult)
数学运算在NumPy中可以直接对数组操作,非常高效。
求平均值与最大值:
mean_val = np.mean(arr)max_val = np.max(arr)print("平均值:", mean_val, "最大值:", max_val)
np.mean()和np.max()用于快速统计分析。
筛选特定值:
bool_arr = arr > 2print("大于2的索引:", bool_arr)filtered_arr = arr[bool_arr]print("筛选结果:", filtered_arr)
布尔索引允许根据条件选择数组元素。
生成随机数组:
random_arr = np.random.rand(3, 3)print("3x3随机数组:", random_arr)
np.random.rand()用于生成指定形状的随机数矩阵。
矩阵乘法:
mat1 = np.array([[1, 2], [3, 4]])mat2 = np.array([[5, 6], [7, 8]])product = np.dot(mat1, mat2)print("矩阵乘法结果:", product)
np.dot()进行矩阵乘法,是机器学习中的基础操作。
不同形状数组运算:
broad_arr = arr + np.array([10, 10])print("广播机制结果:", broad_arr)
NumPy的广播机制允许不同形状的数组进行运算。
排序数组:
sorted_arr = np.sort(arr)print("排序后的数组:", sorted_arr)
np.sort()按升序排序数组。
保存与加载数组:
np.save('my_array.npy', arr)loaded_arr = np.load('my_array.npy')print("从文件加载的数组:", loaded_arr)
使用np.save()和np.load()进行数组的持久化存储和读取。
分位数与标准差 :
# 分位数quartiles = np.percentile(arr, [25, 50, 75])print("四分位数:", quartiles)# 标准差与方差std_dev = np.std(arr)variance = np.var(arr)print("标准差:", std_dev, "方差:", variance)
分位数和统计度量是评估数据分布的关键指标。
花式索引 :
# 索引数组indices = np.array([[0, 1], [2, 2]])print("根据索引选取元素:", arr[indices])# 切片与步长sliced_arr = arr[1:4:2] # 从第二个元素开始,每隔一个取一个print("切片结果:", sliced_arr)
花式索引让你能以非常灵活的方式访问数组元素。
使用视图减少内存消耗 :
view_arr = arr.view()view_arr[:] = 100 # 注意:这会改变原数组,因为是视图print("原数组变化后:", arr)
了解视图和副本的区别对于处理大型数据集至关重要。
向量化操作是NumPy的核心优势,相较于Python循环,它们提供了极大的性能提升。
比较与逻辑操作 :
# 等于特定值的索引equals_three = arr == 3print("等于3的索引:", equals_three)# 逻辑与both_greater = (arr > 2) & (arr < 4)print("大于2且小于4的索引:", both_greater)
利用逻辑操作符进行条件筛选,无需显式循环。
本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-92465-0.html关于 Python 数据分析的 15 个 NumPy 应用
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com