Python人工智慧常用庫Numpy使用入門
第一章 jupyter notebook簡單教程
命令模式按鍵esc開啟
Enter : 轉入編輯模式
Shift-Enter : 執行本單元,選中下個單元
Ctrl-Enter : 執行本單元
Alt-Enter : 執行本單元,在其下插入新單元
Y : 單元轉入程式碼狀態
M :單元轉入markdown狀態
Z : 恢復刪除的最後一個單元
第二章 numpy簡單教程
2.1 陣列
import numpy as np
a = np.array([1, 2, 3])
print(a)
#out
[1 2 3]
a
#out
array([1, 2, 3])
type(a)
#out
numpy.ndarray
a.shape
#out
(3,)
# reshape(1, -1)中1代表設定陣列為1行 , -1代表一個佔位符 , 表示a陣列列數
# reshape()中-1可以作為行的佔位符也可以作為列的佔位符
a = a.reshape(1, -1)
a.shape
#out
(1, 3)
a = np.array([1, 2, 3, 4, 5, 6])
a.shape
#out
(6,)
a = a.reshape(2,-1)
a.shape
#out
(2, 3)
a
#out
array([[1, 2, 3],
[4, 5, 6]])
a = a.reshape(-1, 2)
a.shape
#out
(3, 2)
a[2, 0]
#out
5
a[2, 0] = 55
a[2, 0]
#out
55
# zeros用於建立元素全部為0的矩陣陣列
a = np.zeros((3, 3))
a
#out
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
# ones用於建立元素全部為1的矩陣陣列
a = np.ones((3, 3))
a
#out
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
# zeros ones函式也完全可以用full函式實現
a = np.full((2, 3), 0)
a
#out
array([[0, 0, 0],
[0, 0, 0]])
# eye函式用於建立單位矩陣
a = np.eye(3)
a
#out
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
# random.random使用者建立數值為0-1之間的隨機二維陣列
a = np.random.random((2, 3))
a
#out
array([[0.54627035, 0.49586489, 0.6976645 ],
[0.76596824, 0.95951819, 0.7515421 ]])
2.2 陣列索引操作
# indexing : 陣列索引
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
# -2代表陣列的倒數第二行 , 1:3代表從第一列開始往後兩個元素
a[-2:, 1:3]
#out
array([[ 6, 7],
[10, 11]])
# 取倒數第二行 , 第三列元素
a[-2, 3]
#out
8
a
#out
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
a.shape
#out
(3, 4)
# 將陣列a倒數第二行開始到最後一行 , 從第一列往後兩列元素賦值給b陣列
b = a[-2:, 1:3]
a
#out
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
b
#out
array([[ 6, 7],
[10, 11]])
b.shape
#out
(2, 2)
# 指定為索引為的2行
b = a[2, 1:3]
b
#out
array([10, 11])
b.shape
#out
(2,)
b = a[1, 2]
b
#out
7
b.shape
#out
()
b = a[2:3, 1:3]
b
#out
array([[10, 11]])
b.shape
#out
(1, 2)
# 將陣列的3行的1列 + 10
a[np.arange(3), 1] += 10
a
#out
array([[ 1, 12, 3, 4],
[ 5, 16, 7, 8],
[ 9, 20, 11, 12]])
a[np.arange(2), 3] += 100
a
#out
array([[ 1, 12, 3, 104],
[ 5, 16, 7, 108],
[ 9, 20, 11, 12]])
# 產生一個0,1,2的陣列 , 不包含3
np.arange(3)
#out
array([0, 1, 2])
# 產生一個從3-7的陣列 , 不包含7
np.arange(3,7)
#out
array([3, 4, 5, 6])
a[np.arange(3), [1,1,1]] += 10
a
#out
array([[ 1, 22, 3, 104],
[ 5, 26, 7, 108],
[ 9, 30, 11, 12]])
a[[0,1,2], [1,1,1]] += 10
a
#out
array([[ 1, 32, 3, 104],
[ 5, 36, 7, 108],
[ 9, 40, 11, 12]])
# 判斷陣列a中大於10的值
result_index = a>10
result_index
#out
array([[False, True, False, True],
[False, True, False, True],
[False, True, True, True]])
a[result_index]
#out
array([ 32, 104, 36, 108, 40, 11, 12])
a[a>10]
#out
array([ 32, 104, 36, 108, 40, 11, 12])
2.3 元素陣列型別
a = np.array([1,2,3])
a.dtype
#out
dtype('int64')
a = np.array([1.1, 2.2])
a.dtype
#out
dtype('float64')
a = np.array([1.1, 1, 'a'])
a
#out
array(['1.1', '1', 'a'], dtype='
# 將float型陣列轉化成int型
a = np.array([1.1, 2.2], dtype=np.int64)
a
#out
array([1, 2])
# 將a陣列賦值給b陣列 , 同時設定元素型別為int
b = np.array(a, dtype=np.int64)
b
#out
array([1, 2])
2.3 陣列運算與常用函式
numpy中的數學運算
a = np.array([[1,2],
[3,4]])
b = np.array([[5,6],
[6,5]])
# 加法
a+b
#out
array([[6, 8],
[9, 9]])
np.add(a,b)
#out
array([[6, 8],
[9, 9]])
# 減法
a-b
#out
array([[-4, -4],
[-3, -1]])
np.subtract(a,b)
#out
array([[-4, -4],
[-3, -1]])
# 乘法
a*b
#out
array([[ 5, 12],
[18, 20]])
np.multiply(a,b)
#out
array([[ 5, 12],
[18, 20]])
# 除法
a/b
#out
array([[0.2 , 0.33333333],
[0.5 , 0.8 ]])
np.divide(a,b)
#out
array([[0.2 , 0.33333333],
[0.5 , 0.8 ]])
# 開方
np.sqrt(a)
#out
array([[1. , 1.41421356],
[1.73205081, 2. ]])
a
#out
array([[1, 2],
[3, 4]])
b = np.array([[1,2,3],
[4,5,6]]) 無錫人流醫院哪家好
# dot : 是將a陣列與b陣列矩陣相乘的結果
a.dot(b)
#out
array([[ 9, 12, 15],
[19, 26, 33]])
np.dot(a,b)
#out
array([[ 9, 12, 15],
[19, 26, 33]])
numpy中的常用函式
# sum : 求和函式
# 計算陣列中全部元素的和
a = np.array([[1,2],
[3,4]])
np.sum(a)
#out
10
# 將陣列中的每一列進行求和操作
np.sum(a, axis=0)
#out
array([4, 6])
# 將陣列中的每一行進行求和操作
np.sum(a, axis=1)
#out
array([3, 7])
# mean : 求平均值函式
# 計算陣列的平均值
np.mean(a)
#out
2.5
# 計算陣列每一列的平均值
np.mean(a, axis=0)
#out
array([2., 3.])
# 計算陣列每一行的平均值
np.mean(a, axis=1)
#out
array([1.5, 3.5])
# uniform : 使用者生成一個指定範圍內的隨機數值
np.random.uniform(3,4)
#out
3.247709331922638
# tile : 用於將一個陣列作為一個元素重複指定的次數
a
#out
array([[1, 2],
[3, 4]])
# 將陣列在行上重複1次, 在列上重複2次
np.tile(a, (1,2))
#out
array([[1, 2, 1, 2],
[3, 4, 3, 4]])
# 將陣列在行上重複1次, 在列上重複3次
np.tile(a, (1,3))
#out
array([[1, 2, 1, 2, 1, 2],
[3, 4, 3, 4, 3, 4]])
# argsort : 將陣列中的元素進行排序 , 預設從小到大
a = np.array([[1,12,3,104],
[5,10,1,3]])
# 按照陣列下標將元素排好
np.argsort(a)
#out
array([[0, 2, 1, 3],
[2, 3, 0, 1]])
# 將每一列進行排序
a.argsort(axis=0)
#out
array([[0, 1, 1, 1],
[1, 0, 0, 0]])
# T : 矩陣轉置
a
#out
array([[ 1, 12, 3, 104],
[ 5, 10, 1, 3]])
a.T
#out
array([[ 1, 5],
[ 12, 10],
[ 3, 1],
[104, 3]])
# 使用transpose函式將陣列轉置
np.transpose(a)
#out
array([[ 1, 5],
[ 12, 10],
[ 3, 1],
[104, 3]])
2.4 廣播
廣播
可以將不同維度的陣列進行相加 , numpy會將不同維度的陣列轉化成相同維度的陣列 , 廣播會在缺失維度和一維的陣列上進行操作
a = np.array([[1, 2, 3],
[5, 6, 7],
[9, 10, 11]])
b = np.array([1,2,3])
# 將b陣列加到a陣列的每一行
for i in range(3):
a[i, :] += b
a
#out
array([[ 2, 4, 6],
[ 6, 8, 10],
[10, 12, 14]])
# 將b陣列行上重複3次 , 列上重複1次 , 與a相加
a + np.tile(b, (3,1))
#out
array([[ 3, 6, 9],
[ 7, 10, 13],
[11, 14, 17]])
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2655634/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python常用庫NumpyPython
- Numpy使用入門
- Python中的Numpy入門教程Python
- numpy入門指南
- Python入門(五):Python常用操作運算子Python
- 入門 | 32個常用 Python 實現Python
- Python 的加密庫入門Python加密
- python 如何安裝numpy庫?Python
- numpy 基礎入門 - 30分鐘學會numpy
- 新人求python教程,人工智慧入門Python人工智慧
- 帶你入門比Python更高效的Numpy(附程式碼)Python
- 清晰易懂的Numpy入門教程
- NumPy從入門到放棄
- Python常用GUI框架有哪些?Python基礎入門PythonGUI框架
- 人工智慧入門與實戰 使用Raspberry Pi和Python演練人工智慧Python
- Python HTTP庫:requests快速入門PythonHTTP
- SpringMVC入門案例 & 常用API使用演示SpringMVCAPI
- Python庫安裝教程之NumpyPython
- NumPy常用操作
- 人工智慧演算法小白入門- Jupyter notebook python 基礎入門人工智慧演算法Python
- Python中Numpy及Matplotlib使用Python
- 常用Python庫Python
- python爬蟲 之 BeautifulSoup庫入門Python爬蟲
- Python——astroplan庫入門例項(二)PythonAST
- Python常用的開發工具有哪些?Python基礎入門Python
- Python常用函式有哪些?Python基礎入門課程Python函式
- numpy 常用總結
- Python不用import也能使用常用庫了!!!PythonImport
- 【Python入門】Python資料分析最重要的庫!Python
- Python資料分析--Numpy常用函式介紹(3)Python函式
- Python資料分析--Numpy常用函式介紹(2)Python函式
- 小白入門使用Nginx基礎的常用操作Nginx
- python學習筆記——jieba庫入門Python筆記Jieba
- python滲透測試入門——Scapy庫Python
- Python資料分析工具庫-Numpy 陣列支援庫(一)Python陣列
- Python安裝與Pycharm使用入門PythonPyCharm
- Python PyQT5的入門使用PythonQT
- 【小白必看】Python入門知識之常用關鍵字!Python