Numpy速成手冊(cè)(一)

說(shuō)明:個(gè)人學(xué)習(xí)記錄,僅供參考。
操作系統(tǒng):window10 x64
IDE:Pycharm 2017.2.2
Python版本:3.6.2

安裝

本次換一種安裝方式:

1、從https://pypi.python.org/pypi/numpy 處下載對(duì)應(yīng)版本,我這里下載numpy-1.13.1-cp36-none-win_amd64.whl (md5, pgp),指的是64位操作系統(tǒng),python3.6版本對(duì)應(yīng)的numpy。注意版本一定要對(duì)應(yīng),不然會(huì)安裝出錯(cuò)。

2、切換到下載文件所在的目錄,然后:

pip3.6 install numpy-1.13.1-cp36-none-win_amd64.whl

即可

基本用法

1、求矩陣元素最大值、最小值和平均值

import numpy as np

mat = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
])
# 最大元素的值 9
print(mat.max())
# 最小元素的值 1
print(mat.min())
# 平均值 5.0
print(mat.mean())

2、矩陣求和、行求和、列求和

import numpy as np

mat = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
])
# 元素總和 45
print(mat.sum())
# 元素行求和 [ 6 15 24]
print(mat.sum(axis=1))
# 元素列求和 [12 15 18]
print(mat.sum(axis=0))

3、元素相乘、矩陣相乘

import numpy as np

a = np.array([
    [1, 2],
    [3, 4]
])
b = np.array([
    [5, 6],
    [7, 8]
])

'''
對(duì)應(yīng)位置元素相乘,結(jié)果為:
[[ 5 12]
 [21 32]]
'''
print(a * b)

'''
矩陣相乘,結(jié)果為:
[[19 22]
 [43 50]]
'''
print(a.dot(b))
# 矩陣相乘,同上
print(np.dot(a, b))

4、矩陣元素求平方、立方、開(kāi)根號(hào)

import numpy as np

# 創(chuàng)建等差數(shù)組,類似于range
a = np.arange(4)
# [0 1 2 3]
print(a)
# 求矩陣各元素的平方 [0 1 4 9]
print(a ** 2)
# 求各元素的三次方
print(a ** 3)
# 各元素開(kāi)根號(hào) [ 0. 1. 1.41421356 1.73205081]
print(np.sqrt(a))

5、求元素e的n次冪

import numpy as np

# 創(chuàng)建等差數(shù)組,類似于range
a = np.arange(3)
# [0 1 2]
print(a)
# e的對(duì)應(yīng)元素次冪
# 自然對(duì)數(shù)的底數(shù)e是由一個(gè)重要極限給出的.我們定義:當(dāng)x趨于無(wú)限時(shí),lim(1+1/x)^x=e.e是一個(gè)無(wú)限不循環(huán)小數(shù),其值約等于2.718281828…,
print(np.exp(a))

6、隨機(jī)生成矩陣、向下取整

import numpy as np

# 生成3行4列的二維矩陣,取值為隨機(jī)的浮點(diǎn)數(shù),在半開(kāi)區(qū)間 [0.0, 1.0)

a = 10 * np.random.random((3, 4))

# 乘10之后,得到類似如下的矩陣:
'''
[[ 4.12913155  3.74225311  5.99355689  6.46899251]
 [ 9.6168953   2.97444891  1.94358161  8.59825219]
 [ 2.55920397  0.88531021  1.97703553  3.21143099]]
'''
print(a)

# floor 用于向下取整
'''
[[ 4.  3.  5.  6.]
 [ 9.  2.  1.  8.]
 [ 2.  0.  1.  3.]]
'''
print(np.floor(a))

7、平坦化數(shù)組、矩陣轉(zhuǎn)換

import numpy as np

# 生成3行4列的二維矩陣,取值為隨機(jī)的浮點(diǎn)數(shù),在半開(kāi)區(qū)間 [0.0, 1.0)

a = np.floor(10 * np.random.random((3, 4)))

'''
[[ 4.  1.  3.  4.]
 [ 0.  2.  4.  3.]
 [ 2.  0.  3.  4.]]
'''
print(a)

# 平坦化數(shù)組,其實(shí)就是將二維數(shù)組轉(zhuǎn)為一維數(shù)組,轉(zhuǎn)換規(guī)則為從左到右從上到下
b = np.ravel(a)
'''
[ 4.  1.  3.  4.  0.  2.  4.  3.  2.  0.  3.  4.]
'''
print(b)

# 矩陣轉(zhuǎn)換,其實(shí)就是將一維數(shù)組轉(zhuǎn)為二維數(shù)組,當(dāng)然也可以是一種二維轉(zhuǎn)為另一種二維數(shù)組
'''
[[ 4.  1.]
 [ 3.  4.]
 [ 0.  2.]
 [ 4.  3.]
 [ 2.  0.]
 [ 3.  4.]]
'''
print(b.reshape(6, 2))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容