【numpy學習筆記】陣列的建立和基本運算
1. 建立numpy陣列
1.1 通過tuple和list建立陣列
import numpy as np
通過tuple
t=(1,2,3)
a=np.array(t,dtype= 'int')
#array([1, 2, 3])
通過list
list1 = [1,2,3]
a = np.array(list1,dtype='int')
#array([1, 2, 3])
用多個list建立多維陣列
list1 = [1,2,3]
list2 = [4.2,5.1,6.3]
b = np.array([list1,list2])
#array([[1. , 2. , 3. ],
[4.2, 5.1, 6.3]])
b.dtype
#dtype('float64')
改變dtype
c = np.array( [ [1,2], [3,4] ], dtype=complex )
#array([[1.+0.j, 2.+0.j],
[3.+0.j, 4.+0.j]])
c.shape
#(2, 2)
1.2 建立特殊陣列
np.zeros([2,4])
#array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
np.ones([2,3])
#array([[ 1., 1., 1.],
[ 1., 1., 1.]])
np.empty([3,2])
#array([[1., 1.],
[1., 1.],
[1., 1.]])
#return a new array of given shape and type, without initializing entries.
np.eye(3)
#array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
np.arange(2,10,2)
#array([2, 4, 6, 8])
np.linspace(0,10,4)
#array([ 0., 3.33333333, 6.66666667, 10.])
#4 numbers from 0 to 10 , 等分
np.linspace(0,10,3)
#array([ 0., 5., 10.])
2. numpy陣列的基本運算
2.1 算術運算
a = np.array([[1,2,3],[4,5,6]])
#array([[1, 2, 3],
[4, 5, 6]])
a * a
#array([[ 1, 4, 9],
[16, 25, 36]])
a ** 3
#array([[ 1, 8, 27],
[ 64, 125, 216]], dtype=int32)
a + a
#array([[ 2, 4, 6],
[ 8, 10, 12]])
1/a
#array([[1. , 0.5 , 0.33333333],
[0.25 , 0.2 , 0.16666667]])
2.2 矩陣運算
A = np.array( [[1,3],[0,1]] )
B = np.array( [[2,2],[3,4]] )
#array([[1, 3],
[0, 1]])
#array([[2, 2],
[3, 4]])
矩陣相乘
np.dot(A, B) #A.dot(B)
#array([[11, 14],
[ 3, 4]])
#A*B是元素相乘,兩者不同
矩陣相加
np.add(A, B)
#array([[3, 5],
[3, 5]])
2.3 其他運算
a = np.random.random([3,3])
array([[0.19176092, 0.92224897, 0.61994304],
[0.80936465, 0.02533119, 0.72779562],
[0.29421129, 0.35640441, 0.87175173]])
# np.random.random是在[0.0, 1.0) 之間生成隨機數字
a.sum()
4.818811836180757
a.min()
0.025331193574141042
a.max()
0.9222489672128614
np.random.randn(3,3)
array([[ 0.94114569, -1.11281987, -0.16988063],
[ 0.11768634, 0.16164328, -0.15441487],
[-0.18021596, -0.46057389, -0.80320574]])
# 以0為中心的高斯分佈
np.random.normal([1,2,3])
array([ 1.49216002, 4.30790776, 2.59977786])
# 正太分佈numpy.random.normal(loc=0.0, scale=1.0, size=None)
b = np.arange(24).reshape(6,4)
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]])
# 關於 axis: axis=0 是沿著列操作 axis=1 是沿著行操作
b.sum(axis=0)
array([60, 66, 72, 78])
b.sum(axis=1)
array([ 6, 22, 38, 54, 70, 86])
b.min(axis=1)
array([ 0, 4, 8, 12, 16, 20])
b.cumsum(axis=1) # 累計相加 cumulative sum along each row
array([[ 0, 1, 3, 6],
[ 4, 9, 15, 22],
[ 8, 17, 27, 38],
[12, 25, 39, 54],
[16, 33, 51, 70],
[20, 41, 63, 86]], dtype=int32)
相關文章
- numpy學習筆記 – numpy陣列的常見用法筆記陣列
- 【numpy學習筆記】陣列的儲存和下載筆記陣列
- 【numpy學習筆記】陣列的切片,索引,迭代筆記陣列索引
- Java學習筆記【1】陣列的宣告和建立Java筆記陣列
- 【numpy學習筆記】矩陣操作筆記矩陣
- NumPy 基礎 (二) - 陣列運算陣列
- Python科學計算之Numpy陣列生成與運算Python陣列
- Java 學習筆記 二維陣列和物件陣列Java筆記陣列物件
- numpy——陣列的計算陣列
- numpy的學習筆記\pandas學習筆記筆記
- Python學習教程:Numpy系列,建立陣列的三大絕招Python陣列
- 【Numpy學習08】陣列迭代陣列
- Numpy庫(一)- 陣列的建立陣列
- Numpy學習-Task01-資料型別&陣列建立資料型別陣列
- Python列表建立NumPy陣列Python陣列
- Numpy學習筆記筆記
- Numpy中的矩陣運算矩陣
- JavaScript學習筆記(二)——函式和陣列JavaScript筆記函式陣列
- 字尾陣列學習筆記陣列筆記
- 字尾陣列 學習筆記陣列筆記
- python-資料分析-Numpy-3、陣列的運算Python陣列
- NumPy 基礎 (一) - 建立陣列陣列
- Numpy學習筆記 1筆記
- python——numpy學習筆記Python筆記
- Java學習筆記——陣列練習(七)Java筆記陣列
- PHP陣列學習之計算陣列元素總和PHP陣列
- NumPy 通用函式(ufunc):高效能陣列運算的利器函式陣列
- 飛機的 PHP 學習筆記五:陣列PHP筆記陣列
- 【numpy學習筆記】 Array processing筆記
- Perl學習筆記(五)——關聯陣列筆記陣列
- Solidity語言學習筆記————12、陣列Solid筆記陣列
- JavaScript 學習筆記 - 多維陣列變為一維陣列JavaScript筆記陣列
- 1105學習筆記 陣列的演算法上筆記陣列演算法
- 高效能運算學習筆記(1)筆記
- C語言學習筆記——位運算C語言筆記
- JavaScript中的物件學習筆記(概述和建立)JavaScript物件筆記
- 01_Numpy學習筆記(下):輸入和輸出筆記
- ES6語法學習筆記之陣列與擴充套件運算子筆記陣列套件