首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NumPy核心函数全解析

NumPy是Python科学计算的核心库,提供了更强大和高效的功能。本文将对NumPy的核心函数进行分类整理,并详细解释每个函数的原型、使用方法和示例,帮助读者快速掌握其用法。

一、数组创建与初始化

1. np.array()

原型:numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0) • 功能:将Python列表、元组等序列转换为NumPy数组。 • 示例

import numpy as np data = [1, 2, 3, 4] arr = np.array(data) print(arr) # 输出: [1 2 3 4]

2. np.zeros()

原型:numpy.zeros(shape, dtype=float, order='C') • 功能:生成指定形状的全零数组。 • 示例

zeros_arr = np.zeros((2, 3)) print(zeros_arr) # 输出: # [[0. 0. 0.] # [0. 0. 0.]]

3. np.ones()

原型:numpy.ones(shape, dtype=None, order='C') • 功能:生成指定形状的全一数组。 • 示例

ones_arr = np.ones((2, 2)) print(ones_arr) # 输出: # [[1. 1.] # [1. 1.]]

4. np.linspace()

原型:numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) • 功能:在指定范围内生成等间隔的数值序列。 • 示例

lin_arr = np.linspace(0, 10, 5) print(lin_arr) # 输出: [ 0. 2.5 5. 7.5 10. ]

二、数组操作与变形

1. np.reshape()

原型:numpy.reshape(a, newshape, order='C') • 功能:在不改变数据的情况下,重新调整数组的形状。 • 示例

arr = np.arange(6) reshaped_arr = arr.reshape(2, 3) print(reshaped_arr) # 输出: # [[0 1 2] # [3 4 5]]

2. np.concatenate()

原型:numpy.concatenate((a1, a2, ...), axis=0, out=None) • 功能:沿指定轴将多个数组拼接在一起。 • 示例

a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6]]) concat_arr = np.concatenate((a, b), axis=0) print(concat_arr) # 输出: # [[1 2] # [3 4] # [5 6]]

3. np.split()

原型:numpy.split(ary, indices_or_sections, axis=0) • 功能:将数组沿指定轴分割为多个子数组。 • 示例

arr = np.arange(9) split_arr = np.split(arr, 3) print(split_arr) # 输出: [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]

三、数学与统计计算

1. np.sum()

原型:numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False) • 功能:计算数组沿指定轴的和。 • 示例

arr = np.array([[1, 2], [3, 4]]) sum_result = np.sum(arr, axis=1) print(sum_result) # 输出: [3 7]

2. np.mean()

原型:numpy.mean(a, axis=None, dtype=None, out=None, keepdims=False) • 功能:计算数组沿指定轴的均值。 • 示例

mean_result = np.mean(arr, axis=0) print(mean_result) # 输出: [2. 3.]

3. np.std()

原型:numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=False) • 功能:计算数组沿指定轴的标准差。 • 示例

std_result = np.std(arr) print(std_result) # 输出: 1.118033988749895

四、线性代数运算

1. np.dot()

原型:numpy.dot(a, b, out=None) • 功能:计算两个数组的点积。 • 示例

a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) dot_result = np.dot(a, b) print(dot_result) # 输出: # [[19 22] # [43 50]]

2. np.linalg.inv()

原型:numpy.linalg.inv(a) • 功能:计算矩阵的逆矩阵。 • 示例

inv_result = np.linalg.inv(a) print(inv_result) # 输出: # [[-2. 1. ] # [ 1.5 -0.5]]

五、随机数生成

1. np.random.rand()

原型:numpy.random.rand(d0, d1, ..., dn) • 功能:生成指定形状的[0, 1)区间均匀分布随机数。 • 示例

rand_arr = np.random.rand(2, 3) print(rand_arr) # 输出: (示例结果) # [[0.123 0.456 0.789] # [0.234 0.567 0.890]]

2. np.random.normal()

原型:numpy.random.normal(loc=0.0, scale=1.0, size=None) • 功能:生成指定均值和标准差的正态分布随机数。 • 示例

normal_arr = np.random.normal(0, 1, 5) print(normal_arr) # 输出: (示例结果) [-0.123 0.456 -0.789 1.234 -0.567]

六、其他实用函数

1. np.where()

原型:numpy.where(condition, [x, y]) • 功能:根据条件选择元素。 • 示例

arr = np.array([1, 2, 3, 4]) result = np.where(arr > 2, arr, 0) print(result) # 输出: [0 0 3 4]

2. np.unique()

原型:numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None) • 功能:返回数组中的唯一元素。 • 示例

arr = np.array([1, 2, 2, 3, 3, 3]) unique_arr = np.unique(arr) print(unique_arr) # 输出: [1 2 3]

总结

NumPy提供了丰富的函数库,涵盖了数组创建、数学运算、线性代数、随机数生成等多个领域。通过本文的分类整理和详细示例,读者可以快速掌握这些核心函数的用法,并将其应用到实际项目中。NumPy是数据科学和机器学习的基础工具,熟练掌握它将有助于提升你的技术能力!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OMfp4Nr9akpX40FK1lKxiqxg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券