numpy基礎:陣列與向量化計算
1.陣列生成函式:
arange:生成連續數字的陣列(從0開始)
in [1]: np.arange(15)
out[1]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
zeros:一次性創造全0陣列
in [2]: np.zeros(10)
out[2]: array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
ones:一次性創造全1陣列
in [3]: np.ones(10)
out[3]: array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
np.array:生成函式
in [4]: data = [1,2,3,4,5,6]
in [5]: arr = np.array(data)
in [6]: arr
out[4]: array([1, 2, 3, 4, 5, 6])
2.ndarray的資料型別:
dtype:顯示資料元素型別,int表示整型,32表示佔32個位元組
同樣有float64等
in: arr.dtype
out: dtype('int32')
shape:顯示陣列每一維度的數量,(6,)表示6行0列
in: arr.shape
out:(6
,)
astype:陣列型別轉換
in: arr.astype(np.float64)
out: array([1
.,2.
,3.,
4.,5
.,6.
]
3.numpy陣列算術
向量化:批量操作,無須for迴圈
等尺寸陣列:shape結果一致
運算:+,-,*,/都可以,布林運算子(>,<,==)返回true 或者 false
in:
import numpy as np
in: arr = np.array([[
1,2,
3],[
4,5,
6]])
in: arr.dtype
out:dtype(
'int32'
)in: arr = arr.astype(np.float64)
in: arr
out:array([[
1.,2
.,3.
],[4
.,5.
,6.]
])in: arr * arr
out:array([[
1.,4
.,9.
],[16
.,25.
,36.]
])in: arr == arr
out:array([[
true
,true
,true],
[true
,true
,true]]
)
4.索引和切片
in:
import numpy as np
out:arr = np.array([[
1,2,
3],[
4,5,
6],[
7,8,
9]])
in:arr
out:array([[
1,2,
3],[
4,5,
6],[
7,8,
9]])
一維陣列同列表
二維陣列:
arr[m][n]或者arr[m,n]
in: arr[1,
1]out:
5
arr[:2],選擇arr的前兩行
in: arr[:2
]out:array([[
1,2,
3],[
4,5,
6]])
arr[:2,1:],選擇arr的前兩行後兩列
5.矩陣轉置和換軸
t屬性:
in: arr = np.arange(15)
.reshape((3
,5))
in: arr
out:array([[
0,1,
2,3,
4],[
5,6,
7,8,
9],[
10,11,
12,13,
14]])
in: arr.t
out:array([[
0,5,
10],[
1,6,
11],[
2,7,
12],[
3,8,
13],[
4,9,
14]])
np.dot:矩陣內積
arr.transpose:置換軸
arr.swapaxes:調整軸
python資料分析
以網路爬蟲為例,網路爬蟲是乙個自動提取網頁的程式,爬蟲是搜尋引擎的第一步,也是最容易的一部。網頁搜尋,建立索引,查詢排序 用c c 效率高,速度塊,適合通用搜尋引擎做往往爬取。但是它的缺點也特別明顯 開發慢,寫起來又臭又長的。而python無論在資料分析還是在指令碼自動化編寫尚都是簡單,易學的。良好...
python資料分析
陣列間的算術運算 npwhere pandas的使用 np.random.rand 3,4 產生乙個3行4列的矩陣 0 1之間的 in 32 data1 1,2,3,4.0 in 34 arr1 np.array data1 in 35 arr1 out 35 array 1.2.3.4.in 37...
python資料分析
1.資料分析的含義與目標 2.python與資料分析 3.python資料分析大家族 4.python環境搭建 一 numpy 功能 ndarray 多維操作 線性代數 官網 numpy是python語言的乙個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。nu...