一、基本屬性
二、 創建數組
(一)arange
a = np.arange(10,20,2)
# [10,12,14,16,18]
只有一個參數n的話,默認是從0到n-1的一維數組。?
(二)自定義reshape
a = np.arange(12).reshape((3,4))
[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]
?(三)linspace
a = np.linspace(1,10,5) # 從1開始到10結束,5段,類似于生成等差數列
# [ 1. 3.25 5.5 7.75 10. ]
三、基礎運算
(一)三角函數
a = np.array([10,20,30,40])
c=np.sin(a)
print(a,c)
# [10 20 30 40] [-0.54402111 0.91294525 -0.98803162 0.74511316]
(二)判斷大小
a = np.array([10, 20, 30, 40])
print(a < 21)
# [ True True False False]
(三)乘法
import numpy as npa = np.array([[1, 1],[0, 1]])
b = np.arange(4).reshape((2, 2))
c = a * b
c_dot = np.dot(a, b)
print(c) # 逐個相乘
print(c_dot) # 矩陣乘法
[[0 1][0 3]]
[[2 4][2 3]]
(四)求特殊值
a = np.array([[0, 1, 2, 3], [3, 2, 9, 1]])
print(np.sum(a))
print(np.sum(a, axis=0)) # 每一列求和
print(np.sum(a, axis=1)) # 每一行求和
21
[ 3 3 11 4]
[ 6 15]
min和max同理。?
(五)特殊索引?
a = np.arange(2, 14).reshape((3, 4))
print(a)
print(np.argmin(a)) # 最小值索引
print(np.argmax(a)) # 最大值索引
[[ 2 3 4 5][ 6 7 8 9][10 11 12 13]]
0
11
(六)特殊值
a = np.arange(2, 14).reshape((3, 4))
print(a)
print(np.mean(a)) # 平均值
print(a.mean()) # 平均值
print(np.median(a)) # 中位數
print(np.cumsum(a)) # 累加過程 [ 2 5 9 14 20 27 35 44 54 65 77 90]
(七)非0值?
a = np.arange(2, 14).reshape((3, 4))
print(np.nonzero(a))
# (array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]))
輸出的是所有非0值的索引。
(八)逐行排序
a = np.arange(14, 2, -1).reshape((3, 4)) # 注意步長是-1
print(a)
print(np.sort(a)) # 逐行排序
[[14 13 12 11][10 9 8 7][ 6 5 4 3]]
[[11 12 13 14][ 7 8 9 10][ 3 4 5 6]]
?(九)flat和flatten
四、合并與分割
只能進行等項分割:?
若進行不等分割:
五、其他
?(一)加載文件loadtxt
data = np.loadtxt('ex1data1.txt', delimiter=',')
# 文件名:ex1data1.txt,分隔符:,
- 作用:用于從文本文件加載數據
- 返回值:二維numpy數組
- 默認情況下,它會自動推斷數據類型
?
?