美文网首页
干货知识分享,python-numpy-01-numpy介绍

干货知识分享,python-numpy-01-numpy介绍

作者: IT吴彦祖 | 来源:发表于2020-09-24 11:26 被阅读0次

1.概述

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。

2.安装

最简单的安装方法,就是通过Python自带的pip工具进行安装,操作如下:

pipinstall numpy# 针对指定python3的情况pip3install numpy

3.测试Numpy安装情况

importnumpyasnp# 通过range方式生成ndarray数据a = np.arange(10)print(a)print(type(a))

运算结果:

[0123456789]<class'numpy.ndarray'>

说明: 通过 np.arange() 方式生成的数据 [0 1 2 3 4 5 6 7 8 9] ,从外观上面看和python的内置数据类型列表(list)有些类似,但是在显示过程中,数据中间没有分割符号,另外数据类型是不一样的,是numpy生成的数据类型:ndarray。

4.测试Numpy对于ndarray的支持情况

在概述里面说到,Numpy支持ndarray这种数据类型,同时为ndarray这种数据格式提供了大量科学计算的辅助函数。下面还是通过一个例子来说明:

"""

三种不同的方式对列表元素进行开平方

"""importnumpyasnpimportmath# 第一种:遍历生成lt = [1,2,6]rs1 = []forvalinlt:    rs1.append(math.sqrt(val))print(rs1)print('--'*20)# 第二种: 列表推导式rs2 = [math.sqrt(x)forxinlt]print(rs2)print('--'*20)# 第三种: 使用numpy实现rs3 = np.sqrt(np.array(lt))print(rs3)

运行结果:

[1.0,1.4142135623730951,2.449489742783178]----------------------------------------[1.0,1.4142135623730951,2.449489742783178]----------------------------------------[1.1.414213562.44948974]

说明: 第一种和第二种本质上是一样的,只是写法上面的差异。第三种方式,首先通过 np.array 函数将常规的列表(list)转变成ndarray格式,然后通过numpy内置函数 np.sqrt 直接对ndarray转换,而不是和前面两个元素需要手动实现单个元素开平方。另外一点需要注意的内容是:最后结果在数值精度上面吧是一些差异的,numpy部分计算计算和math里面存在差异。

注意:

ndarray是numpy自定义数据类型集合,在ndarray里面又可以分为具体不同的数据类型,后面的文章会具体说明。

有什么问题欢迎大家评论区留言讨论,支持小编的可以关注一下,之后还会有更多干货知识分享给大家,记得关注哦~

相关文章

  • 干货知识分享,python-numpy-01-numpy介绍

    1.概述 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数...

  • 【编程干货库】知识星球

    星球简介 【编程干货库】知识星球是一个专注于编程学习者,开发者的干货知识分享平台,精选深度文章,分享优秀干货类、技...

  • Linux 根目录爆掉,命令行无法自动补全,怎么办

    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇...

  • Linux 文件权限详解

    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇...

  • EditText 使用详解

    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇...

  • Button 使用详解

    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇...

  • ImageView 使用详解

    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇...

  • TextView 使用详解

    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇...

  • Linux 常用命令大全

    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇...

  • Android 特权许可白名单

    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇...

网友评论

      本文标题:干货知识分享,python-numpy-01-numpy介绍

      本文链接:https://www.haomeiwen.com/subject/raezyktx.html