Numpy入門(一):Numpy的安裝和創建

在數據分析和機器學習中,大量的使用科學計算,Numpy提供了大型矩陣計算的方式,而這些是python標準庫中所缺少的。Numpy也是許多優秀的第三方庫的基礎,依賴于Numpy的庫非常多,后續會慢慢的進行介紹。

Numpy的安裝

和許多的庫一樣,不管在windows平臺下還是在linux平臺下,安裝Numpy的命令如下:

pip install numpy

安裝完以后:

Collecting numpy
  Downloading numpy-1.14.0-cp27-none-win32.whl (9.8MB)
    100% |████████████████████████████████| 9.8MB 27kB/s
Installing collected packages: numpy
Successfully installed numpy-1.14.0

python解析器 下查看 Numpy 是否安裝成功:

import numpy

Numpy生成數組函數(Array creation )

直接使用array 函數生成數組:

>>> import numpy as np
>>> a = np.array([2,3,4])
>>> print a
[2 3 4]
>>> b = np.array([(1,3,4),(2,3,5)])
>>> print b
[[1 3 4]
 [2 3 5]]
>>>

array 函數中使用python自帶的list ,在多維數組中在list 中存放多個元祖。

使用 emptyzerosonesidentityeye 創建矩陣:

>>> import numpy as np
#使用empty創建2x2矩陣
>>> a = np.empty([2,2])
>>> print a
[[1.92432613e-295 1.92410215e-295]
 [1.92414694e-295 1.92414694e-295]]

identity 為返回一個N維單位方陣。

同樣的還有empty_likeones_likezeros_like 是復制對方的維數,進行相應的處理。

使用 arangelinspace 生成數組:

在0到2中按步長為0.3生成數組:

>>> np.arange( 0, 2, 0.3 )
array([0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])

在0到2中生成9個數:

>>> np.linspace( 0, 2, 9 )
array([0.  , 0.25, 0.5 , 0.75, 1.  , 1.25, 1.5 , 1.75, 2.  ])

Numpy中數組的基本屬性

在Numpy中生成的數組叫做ndarray , 在ndarray 中有如下的屬性:

  • ndarray.ndim: 數組維數

    程序如下:

    >>> a = np.zeros([3,4])
    >>> a.ndim
    2
    >>> b = np.zeros([3,4,5])
    >>> b.ndim
    3
    >>>
    
  • ndarray.shape:數組的結構 幾乘幾 數組

    >>> print a.shape
    (3, 4)
    >>> print b.shape
    (3, 4, 5)
    >>>
    
  • ndarray.size: 數組有幾個元素

    >>> print a.size
    12
    >>> print b.size
    60
    >>>
    

Numpy中數組的保存

使用tofilefromfile

import numpy as np

a = np.array([(1,2,3,4),(4,5,2,4)])

print a

a.tofile("filename.bin")

b = np.fromfile("filename.bin",dtype = np.int32)

print b.reshape(2,4)

還可以使用 np.save() np.load()np.savez() 這一組合進行數據的存儲。

import numpy as np

a = np.array([(1,2,3,4),(4,5,2,4)])

print a

np.save("a.npy", a)
c = np.load("a.npy")
print c

另外一組為 savetxt()loadtxt()

import numpy as np

a = np.array([(1,2,3,4),(4,5,2,4)])

print a
np.savetxt("a.txt", a)
np.loadtxt("a.txt")
c = np.load("a.npy")
print c

更多教程:阿貓學編程

Numpy入門 系類文章

繼續閱讀

所有評論

如果對文章有異議,請加qq:1752338621