Python通用函数实现数组计算的方法

yipeiwu_com6年前Python基础

一.数组的运算

数组的运算可以进行加减乘除,同时也可以将这些算数运算符进行任意的组合已达到效果。

>>> x=np.arange(5)
>>> x
array([0, 1, 2, 3, 4])
>>> x=5
>>> x=np.arange(5)
>>> x+5
array([5, 6, 7, 8, 9])
>>> x-5
array([-5, -4, -3, -2, -1])
>>> x*2
array([0, 2, 4, 6, 8])
>>> x/2
array([0. , 0.5, 1. , 1.5, 2. ])
>>> x//2
array([0, 0, 1, 1, 2], dtype=int32)

二.绝对值的运算

一共有三种方法,第一种方法是直接利用不是NumPy库的abs函数进行计算,第二种和第三种方法则是利用numpy库的abs函数和absolute函数进行运算。如下所示:

>>> x=np.array([1,2,3,-4,-5,-6])
>>> x
array([ 1, 2, 3, -4, -5, -6])
>>> abs(x)
array([1, 2, 3, 4, 5, 6])
>>> np.abs(x)
array([1, 2, 3, 4, 5, 6])
>>> np.absolute(x)
array([1, 2, 3, 4, 5, 6])

三.三角函数的运算

首先定义一个a的np当中的array对象,然后再进行运算:

>>> a
array([0.    , 1.57079633, 3.14159265])
>>> np.sin(a)
array([0.0000000e+00, 1.0000000e+00, 1.2246468e-16])
>>> np.cos(a)
array([ 1.000000e+00, 6.123234e-17, -1.000000e+00])
>>> np.tan(a)
array([ 0.00000000e+00, 1.63312394e+16, -1.22464680e-16])

四.指数和对数的运算

指数的运算:

>>> x=[1,2,3]
>>> x
[1, 2, 3]
>>> np.exp(x)
array([ 2.71828183, 7.3890561 , 20.08553692])
>>> np.exp2(x)
array([2., 4., 8.])

np.power(3,x)
array([ 3, 9, 27], dtype=int32)

对数的运算:

>>> np.log(x)
array([0.    , 0.69314718, 1.09861229])
>>> np.log2(x)
array([0.    , 1.    , 1.5849625])
>>> x
[1, 2, 3]
>>> np.log10(x)
array([0.    , 0.30103  , 0.47712125])

总结

以上所述是小编给大家介绍的Python通用函数实现数组计算的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

解决pyinstaller打包pyqt5的问题

pyinstaller打包使用pyqt5模块的时候,在win平台下,由于pyinstaller无法准确获取QT动态库文件路径,会报错导致无法打开运行程序,并提示错误信息pyinstall...

Python安装Imaging报错:The _imaging C module is not installed问题解决方法

今天写Python程序上传图片需要用到PIL库,于是到http://www.pythonware.com/products/pil/#pil117下载了一个1.1.7版本的,我用的是Ce...

Python删除空文件和空文件夹的方法

本文实例讲述了Python删除空文件和空文件夹的方法。分享给大家供大家参考。具体实现方法如下: #-*- coding:cp936 -*- """ os.walk() 函数声明:wa...

Python中的错误和异常处理简单操作示例【try-except用法】

Python中的错误和异常处理简单操作示例【try-except用法】

本文实例讲述了Python中的错误和异常处理操作。分享给大家供大家参考,具体如下: #coding=utf8 print ''''' 程序编译时会检测语法错误。 当检测到一个错误,解...

Tornado高并发处理方法实例代码

本文主要分享的是一则关于Tornado高并发处理方法的实例,具体如下: #!/bin/env python # -*- coding:utf-8 -*- import tornado...