这8个NumPy函数可以解决90%的常见问题

这篇具有很好参考价值的文章主要介绍了这8个NumPy函数可以解决90%的常见问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

NumPy是一个用于科学计算和数据分析的Python库,也是机器学习的支柱。可以说NumPy奠定了Python在机器学习中的地位。NumPy提供了一个强大的多维数组对象,以及广泛的数学函数,可以对大型数据集进行有效的操作。这里的“大”是指数百万行。

这8个NumPy函数可以解决90%的常见问题

Numpy快速而高效的原因是底层的C代码,这比使用Python进行数组的操作要快上几百倍,并且随着数据量级的上升而上升。

本文中整理了一些可以解决常见问题的主要的NumPy函数。

1、创建数组

numpy.array:创建新的NumPy数组

  # Create an array using np.array()
 arr = np.array([1, 2, 3, 4, 5])
 
 print(arr)
 Ouput: [1 2 3 4 5]

numpy.zeros:创建一个以零填充的数组。

 # Create a 2-dimensional array of zeros
 arr = np.zeros((3, 4))
 
 [[0. 0. 0. 0.]
  [0. 0. 0. 0.]
  [0. 0. 0. 0.]]

类似的还有numpy.ones:创建一个都是1的数组 / numpy.empty:在不初始化数组元素的情况下创建数组。

使用numpy.random:生成随机数组的函数。

 # Generate a random integer between 0 and 9
 rand_int = np.random.randint(10)
 print(rand_int)

numpy.linspace:在指定范围内生成均匀间隔的数字。

 # Generate an array of 5 values from 0 to 10 (inclusive)
 arr = np.linspace(0, 10, 5)
 
 # Print the array
 print(arr)
 [ 0.   2.5  5.   7.5 10. ]

numpy.range:用间隔的值创建数组。

 # Generate an array from 0 to 10 (exclusive) with step size 1
 arr = np.arange(0, 10, 2)
 
 # Print the array
 print(arr)
 [1 3 5 7 9]

2、查看数组信息

numpy.shape:返回一个表示数组形状的元组。

numpy.ndim:返回数组的维度数。

numpy.dtype:获取数组中元素的数据类型。可以是int型,float型,bool型等等。

3、数组操作函数

numpy.reshape:改变数组的形状。

 # Create a 1-dimensional array
 arr = np.array([1, 2, 3, 4, 5, 6])
 
 # Reshape the array to a 2x3 matrix
 reshaped_arr = np.reshape(arr, (2, 3))
 
 [[1 2 3]
  [4 5 6]]

numpy.transpose:用于排列数组的维度。它返回一个轴调换后的新数组。

 # Create a 2-dimensional array
 arr = np.array([[1, 2, 3],
                 [4, 5, 6]])
 
 # Transpose the array
 transposed_arr = np.transpose(arr)
 [[1 4]
  [2 5]
  [3 6]]

numpy.concatate:沿现有轴连接数组。

 # Create two 1-dimensional arrays
 arr1 = np.array([1, 2, 3])
 arr2 = np.array([4, 5, 6])
 
 # Concatenate the arrays along axis 0 (default)
 concatenated_arr = np.concatenate((arr1, arr2))
 [1 2 3 4 5 6]

numpy.split:分割数据,numpy.resize:改变数组的形状和大小。

numpy.vstack:将多个数组垂直堆叠以创建一个新数组。

 # Create two 1-dimensional arrays
 arr1 = np.array([1, 2, 3])
 arr2 = np.array([4, 5, 6])
 
 # Vertically stack the arrays
 stacked_arr = np.vstack((arr1, arr2))
 [[1 2 3]
  [4 5 6]]

numpy.hstack:与vstack类似,但是是水平堆叠数组。

4、数学函数

numpy.sum:计算数组元素的和。

numpy.mean:计算数组的算术平均值。

numpy.max:返回数组中的最大值。

numpy.min:返回数组中的最小值。

numpy.abs:计算元素的绝对值。

numpy.exp:计算所有元素的指数。

numpy.subtract: 对两个数组的对应元素进行减法运算。

numpy.multiply: 对两个数组的对应元素进行乘法运算。

numpy.divide: 对两个数组的对应元素进行除法运算。

numpy.sin: 计算数组中每个元素的正弦值。

numpy.cos: 计算数组中每个元素的余弦值。

numpy.log: 计算数组中每个元素的自然对数(以e为底的对数)。

5、统计函数

numpy.std:计算数组的标准差。

 # Create a 1-dimensional array
 arr = np.array([1, 2, 3, 4, 5])
 
 # Compute the standard deviation of the array
 std = np.std(arr)
 1.4142135623730951

numpy.var:计算数组的方差。

numpy.histogram:计算一组数据的直方图。

numpy.percentile:计算数组的第n个百分位数。它返回低于给定百分比的数据的值。

 data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
 
 # Calculate the 50th percentile (median) of the data
 median = np.percentile(data, 50)
 
 # Calculate the 25th and 75th percentiles (quartiles) of the data
 q1 = np.percentile(data, 25)
 q3 = np.percentile(data, 75)
 
 Median: 5.5
 Q1: 3.25
 Q3: 7.75

numpy.corcoef:计算两个数组之间的相关系数。numpy.mean: 计算数组元素的平均值。numpy.median: 计算数组元素的中位数。

numpy.random.rand:在区间[0,1]内从均匀分布生成随机数数组

 # Generate a 1-dimensional array of random numbers
 random_array = np.random.rand(5)
 [0.35463311 0.67659889 0.5865293  0.77127035 0.13949178]

numpy.random.normal:从正态(高斯)分布生成随机数

 # Generate a random number from a normal distribution
 random_number = np.random.normal()
 -0.6532785285205665

6、线性代数函数

numpy.dot:计算两个数组的点积。

 # Create two arrays
 a = np.array([1, 2, 3])
 b = np.array([4, 5, 6])
 
 # Compute the dot product of the arrays
 dot_product = np.dot(a, b)
 
 32

numpy.linalg.inv:计算一个方阵的逆, numpy.linalg.eig:一个方阵的特征值和特征向量。numpy.linalg.solve:求解一个线性方程组。

7、排序函数

numpy.sort:沿指定轴返回数组的排序副本

 # Create a 2D array
 arr = np.array([[3, 1, 5], [2, 4, 6]])
 
 # Sort the array along the second axis (columns)
 sorted_arr = np.sort(arr, axis=1)
 
 [[1 3 5]
  [2 4 6]]

numpy.argsort:返回按升序对数组排序的索引

 # Create an array
 arr = np.array([3, 1, 5, 2, 4])
 
 # Get the indices that would sort the array
 sorted_indices = np.argsort(arr)
 
 [1 3 0 4 2]

8、其他一些高级的函数

numpy.unique:在数组中查找唯一的元素。

 arr = np.array([2, 1, 3, 2, 1, 4, 5, 4])
 
 # Get the unique elements of the array
 unique_values = np.unique(arr)
 [1 2 3 4 5]

numpy.fft:傅里叶变换的函数。

numpy.ma:供对掩码数组的支持。

  • numpy.ma.array:从现有的数组或序列创建一个掩码数组。
  • numpy.ma.masked_array:从现有数组和掩码中创建一个掩码数组。
  • numpy.ma.mask:表示掩码数组中的掩码值。
  • numpy.ma.masked_invalid:屏蔽数组中无效的(NaN, Inf)元素。
  • numpy.ma.masked_greate, numpy.ma.masked_less:掩码大于或小于给定值的元素。
 arr = np.array([1, 2, 3, np.nan, 5])
 
 # Create a masked array by masking the invalid values
 masked_arr = ma.masked_invalid(arr)
 [1 2 3 5]

numpy.apply_along_axis:沿着数组的特定轴应用函数。

numpy.wheres:一个条件函数,根据给定条件返回数组中满足条件的元素的索引或值。

 condition = np.array([True, False, True, False])
 
 # Create two arrays
 array_true = np.array([1, 2, 3, 4])
 array_false = np.array([5, 6, 7, 8])
 
 result = np.where(condition, array_true, array_false)
 
 [1 6 3 8]

以上就是Numpy最经常被使用的函数,希望对你有所帮助。

https://avoid.overfit.cn/post/3409c6e694a44e9cb9b9e6be7930801c

作者:alimejor文章来源地址https://www.toymoban.com/news/detail-480735.html

到了这里,关于这8个NumPy函数可以解决90%的常见问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 语音识别功能测试:90%问题,可以通过技术解决

    现在市面上的智能电子产品千千万,为了达到人们使用更加方便的目的,很多智能产品都开发了语音识别功能,用来语音唤醒进行交互;另外,各大公司也开发出来了各种智能语音机器人,比如小米公司的“小爱”,百度公司的“小度”,三星公司的“bixby”,苹果的“siri”

    2024年02月03日
    浏览(40)
  • 北邮22级信通院数电:Verilog-FPGA(1)实验一“跑通第一个例程” 过程中遇到的常见问题与解决方案汇总(持续更新中)

    北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 问题一:Verilog代码没有跑通  报错信息: 错因分析: 问题二:已连

    2024年02月07日
    浏览(57)
  • 可以参考Copilot的官方文档和社区,了解更多关于Copilot的使用技巧和常见问题

    在PyCharm中使用Copilot的步骤如下: 获取Copilot的使用权限:首先,确保你拥有一个GitHub的账号。然后,进入Copilot首页,登录你的GitHub账号,并申请使用。几天后,你会收到一封回复邮件,点击邮件中的链接,登录到GitHub。 安装Copilot:在PyCharm中,找到\\\"File\\\"(文件)菜单,然后

    2024年02月02日
    浏览(92)
  • Hive常见时间日期函数的使用与问题整理

    这里整理一下Hive常见的时间函数和日期函数和用法,作为平时数据处理过程的一个检索和记录。 平时在数据处理过程中,如果不经常使用时间函数,一时间遇到一些时间上的处理,难免会想不起来。 hive本身提供的时间函数已经很丰富了,基本上能满足我们所有的需求,一些

    2024年02月08日
    浏览(45)
  • 7.react useCallback与useMemo函数使用与常见问题

    useCallback返回一个 可记忆的函数 ,useMemo返回一个 可记忆的值 ,useCallback只是useMemo的一种特殊形式。 那么这到底是什么意思呢?实际上我们在父子通信的时候,有可能传递的值是一样的,但是传递的内存地址可能是不一样的,那么在React眼里是会对组件进行重新执行的。 1

    2024年02月15日
    浏览(55)
  • Java开发中的常见问题和解决方法:如何解决常见的性能和bug问题

      在Java开发中,我们经常会面临各种各样的问题,包括性能问题和Bug。这些问题可能会导致应用程序的运行变慢、不稳定甚至崩溃。本文将介绍一些常见的Java开发问题,并提供解决这些问题的方法和技巧,帮助开发人员更好地处理性能和Bug问题。 性能问题是Java开发中最常见

    2024年02月09日
    浏览(52)
  • RabbitMQ常见问题以及实际问题解决

    ** ** 消息可靠性问题: 消息从生产者发送到Exchange,再到queue,再到消费者,有哪些导致消息丢失的可能性? 发送时丢失: - 生产者发送的消息为送达exchange - 消息到达exchange后未到达queue MQ宕机,queue将消息丢失 consumer接收到消息后未消费就宕机 ①生产者消息确认 RabbitMQ提供

    2024年02月16日
    浏览(44)
  • SAP 常见问题大全及问题解决大全

    1.A:在公司代码分配折旧表时报错?     在公司代码分配折旧表时报错,提示是“3000 的公司代码分录不完全-参见长文本”  希望各位大侠帮我看看。 3000 的公司代码分录不完全-参见长文本  R: a.你把零进项税的代码分配给这个公司代码就可以了 .没有指定非税代码,OBCL   

    2024年02月06日
    浏览(43)
  • 千年常见问题解决办法

    为什么我的私发服只能单机玩?把所有服务器程序目录下的 .txt和 .inf文件里的 127.0.0.1 地址改成你服务器的固定 ip地址就能局域网玩了。   服务器程序都该启动哪几个?均衡服务程序(Balance.exe),数据服务程序(db.exe),游戏服务程序(tgs1000.exe),登陆服务程序(login.e

    2024年02月07日
    浏览(55)
  • 损失函数(Loss Function)一文详解-分类问题常见损失函数Python代码实现+计算原理解析

    目录 前言 一、损失函数概述 二、损失函数分类 1.分类问题的损失函数

    2023年04月26日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包