Python For Data Analysis-四章第二节

本章主要内容是介绍基于NumPy数组的一些通用函数universal function(ufunc)。

3.1 NumPy的ufunc

由于NumPy的array是直接驻留在内存的计算较快,但比较浪费内存,所以作用于array的函数也比较多、且执行速度有很大的提升。

  • sqrt函数,实现开方操作。
import numpy as np
a = np.arange(24).reshape((4, 6))
print a, "# a"
print np.sqrt(a)
  • exp函数,实现$e^x$幂方操作。
import numpy as np
a = np.arange(5)
print np.exp(a)
  • maximum函数,实现取得两个数组对应元素最大值作为结果里的某位值上的数据。
import numpy as np
a = np.arange(10)
print a, "# a"
from numpy.random import shuffle
b = a
shuffle(b)
print b, "# b"
print np.maximum(a, b)

执行结果如下:

[0 1 2 3 4 5 6 7 8 9] # a
[0 6 5 1 3 7 9 8 4 2] # b
[0 6 5 1 3 7 9 8 4 2]

这里的mumpy.random.shuffle函数可以对数据进行随机乱序。

  • mod函数,取余函数。有两个参数,第一个参数是数组,第二参数是要除的值。
import numpy as np
a = np.arange(10)
print np.mod(a, 2)

执行结果如下:

[0 1 0 1 0 1 0 1 0 1]
  • modf函数,得到商和余数两个数组,这个函数和python的divmod函数很相似,只不过divmod只是针对一个单值进行计算。
import numpy as np
print divmod(7.2, 2), "# divmod(7.2, 2)"
a = np.arange(10)
print a, "# a"
print np.mod(a, 2), "# np.mod(a, 2)"

执行结果如下:

(3.0, 1.200) # divmod(7.2, 2)
[0 1 2 3 4 5 6 7 8 9] # a
[0 1 0 1 0 1 0 1 0 1] # np.mod(a, 2)

3.2 NumPy其他函数

NumPy提供了很多的函数可以自行参考官方网站