2 L. E) Q, s. D/ i H i8 v
0 ]5 u+ {* U6 t. ?" U) Y) z; `. W
3. 创建数组, j' e! c2 V8 A, y" ~; v
4 R+ N9 z; k4 Y2 S8 s( Z0 G
1. 创建0和1的数组 示例代码如下:' h" s6 e3 V7 ^4 `/ Y, c
. Z$ q, r" S4 Z: M4. 创建随机数组% E9 s B r4 q' y. Y
/ ~6 ?; n+ [( p: U1 N1 S
np.random 模块生成随机数组,更加方便,示例代码如下: - @, h+ p( c5 _; C4 a0 D; b4 g
上面产生的数据是属于一个均匀分布。那么什么是均匀分布呢?在概率论和统计学中,均匀分布也叫矩形分布,它是对称概率分布,在相同长度间隔的分布概率是等可能的。 均匀分布由两个参数a和b定义,它们是数轴上的最小值和最大值,通常缩写为U(a,b)。& a, N( k( |; j3 g
, n& ^2 A v! b正态分布?给定均值/标准差/维度的正态分布,示例代码如下:4 F" a4 J2 H" Q; ~8 z, d% u9 h
( Q5 k/ y; n- l其中M为平均值,n为数据总个数,s为标准差,s^2可以理解一个整体为方差。 1 H9 A7 H/ z/ o, r; S! L3 H, }2 p* Q5 C3 Y9 e% p, L
通过索引切片等获取数组中的值,一维数组示例代码如下: & J$ }, m; w( X/ A3 u0 S9 u6 e1 l8 |( G4 A+ j
二维数组示例代码如下:: }# S2 x% C1 I! Y
+ r' m; K3 ?% L& O
三维数组示例代码如下: , F, g3 o& w [3 X * d" M- R4 X# y3 c2 V) N4 f% [7 B : N6 K, ], Y; f) }) Y, v4. 数组形状与类型变化 $ v+ m. B" S& [- y1 j& E5 M6 q, L# h 1 V' r" [# {0 n" B+ E3 Y9 G) D1. ndarray.reshape(shape[, order]) Returns an array containing the same data with a new shape. 示例代码如下: % i7 F0 e/ x) x& T4 r) z, ^& Z & Q* a# F2 {# O6 r2. ndarray.resize(new_shape[, refcheck]) Change shape and size of array in-place. 示例代码如下:& k! L5 N$ }" ^4 S
+ C# Y! X: p H& h: ]9 i3. 修改类型 ndarray.astype(type) 示例代码如下: : z; t- K7 H4 b- `. Q+ ?# }/ N- }& y" v {. t% ?3 S
4. 修改小数位数 ndarray.round(arr, out) Return a with each element rounded to the given number of decimals. 示例代码如下: : I4 b5 m3 t! r% [% O& X) U6 q0 E# ~ [1 I! T: F
5. ndarray.flatten([order]) Return a copy of the array collapsed into one dimension. 示例代码如下:3 `/ m" Q3 I ^- n3 |
- m8 N+ h- i+ ]" H) a
6. ndarray.T 数组的转置 将数组的行、列进行互换 示例代码如下:9 R1 u, U. g9 _- J
' S2 M% |+ c5 z9 I7 G& ]1 u
7. ndarray.tostring([order])或者ndarray.tobytes([order]) Construct Python bytes containing the raw data bytes in the array. 转换成bytes) f$ a d2 p$ J4 Z; Q, U
M2 ~! L+ ]1 H2 ?2 U5 P8. ndarray.copy([order]) Return a copy of the array. 当我们不想修改某个数据的时候,就可以去进行拷贝操作。在拷贝的数据上进行操作,示例代码如下: 8 f; h: {# e& K) ~% l 9 B0 v8 `( T/ o) D : k; O O6 }4 i+ X/ o' a; @4. 数组运算9 K+ j2 D* J8 x* q: v
" j, s, \; b& ]7 s! x
4.1 逻辑运算' K9 `5 U& Z) G- ?! }! v/ q
4 _" C8 I) S% l& R & N, c. c# ^! M1 [/ m通用判断函数,np.all(),示例代码如下:0 X4 B8 g; V! `: w6 B. s$ p
2 {8 {9 }4 P( e3 d
np.unique():返回新的数组的数值,不存在重复的值,示例代码如下: \# c/ p* W. ~7 F4 y4 f3 A5 X5 v, T1 ~$ O: s0 _) B3 U% @" k& r
np.where (三元运算符):通过使用np.where能够进行更加复杂的运算,示例代码如下: ( |( O# L8 l4 Q! H 1 r+ R) d5 x4 R8 Q( L) d7 Y G, @# T7 A# C5 d9 }1 J$ t4.2 统计运算 6 p" \8 N% F% |% ^ F% ]6 w9 p! ?4 d
在数据挖掘/机器学习领域,统计指标的值也是我们分析问题的一种方式。注意:进行统计的时候,axis轴 的取值并不一定, NumPy中不同的API轴的值都不一样,在这里,axis 0代表列, axis 1代表行 去进行统计。常用的指标如下:4 k4 ]2 {8 H# ^ M9 U
9 E; s* g9 x4 f( R
min(a[, axis, out, keepdims]) Return the minimum of an array or minimum along an axis. 示例代码如下: 7 R+ i; V/ N) ^6 T4 f Q( @$ f' E- i) R' x2 Umax(a[, axis, out, keepdims]) Return the maximum of an array or maximum along an axis. 示例代码如下:/ I* L0 j- W/ q/ j. g$ Y: J9 G+ w2 }
! W5 O9 M' W3 T) c1 gmedian(a[, axis, out, overwrite_input, keepdims]) Compute the median along the specified axis. 示例代码如下:! E7 ?6 f7 H3 L. h0 G9 `8 V$ B d
" D# q( ~0 F- M& G* g
mean(a[, axis, dtype, out, keepdims]) Compute the arithmetic mean along the specified axis. 示例代码如下:6 Q2 _1 L5 X3 E* d: B+ N9 h
/ A; w; O! _2 q2 J( X; p0 Q6 L! ]
std(a[, axis, dtype, out, ddof, keepdims]) Compute the standard deviation along the specified axis. 示例代码如下: " ]1 Y. t. r0 @) d* G4 q 3 ?* U( Z+ }: s: evar(a[, axis, dtype, out, ddof, keepdims]) Compute the variance along the specified axis. 示例代码如下:# ^; ]/ C% X) h% H
' J' P- d k. I9 L! {np.argmax(temp, axis=) 示例代码如下:9 R, ~1 ?% c, q/ s: R
; i6 b4 R, P: ?: P0 cnp.argmin(temp, axis=) 示例代码如下:) x2 F# i2 D4 {
) e6 W0 w. S5 D# u: V
4.3 数组间运算5 }0 p I6 {( w8 D, o6 N$ E0 Y3 K
- J( ]5 D+ H( v" X6 S* e1 G. ^: I
数组与数的运算,示例代码如下: 1 s' Q6 z2 u1 o/ q1 K : ^& v) U* T- f: g矩阵运算,什么是矩阵?矩阵,英文matrix,和array的区别矩阵必须是2维的,但是array可以是多维的。示例代码如下:6 Y2 V" ^" ^& V8 y# R( d0 F
( m+ X% ? x2 ~# E6 ^. M# n! H3 P
; a# ]5 r9 E: {4 z9 N. d. V
4.4 合并分割 0 y5 E& S+ [1 \8 n5 T: i0 l# f5 {( l y5 l8 [# f. T
numpy.concatenate((a1, a2, …), axis=0) 示例代码如下: 5 A* i; a) o: Z6 F3 k8 O" T1 `; r! F8 ?$ }" F
numpy.hstack(tup) Stack arrays in sequence horizontally (column wise). 示例代码如下:, M) t$ q) _! m
# D1 ^) M( @! s
numpy.vstack(tup) Stack arrays in sequence vertically (row wise). 示例代码如下:/ z# @( U& \: {, k: N2 s& B