資料探勘 Numpy簡單使用(一)

2021-09-13 09:04:04 字數 3845 閱讀 7022

numpy有時用np 表示(import numpy as np)

認識n維陣列-ndarray屬性

陣列屬性反映了陣列本身固有的資訊。

屬性名字

屬性解釋

ndarray.shape

陣列維度的元組

ndarray.ndim

陣列維數

ndarray.size

陣列中的元素數量

ndarray.itemsize

乙個陣列元素的長度(位元組)

ndarray.dtype

陣列元素的型別

dtype是numpy.dtype型別,對於陣列來說都有哪些型別

名稱描述簡寫

np.bool

用乙個位元組儲存的布林型別(true或false)

'b'np.int8

乙個位元組大小,-128 至 127

'i'np.int16

整數,-32768 至 32767

'i2'

np.int32

整數,-231 至 232 -1

'i4'

np.int64

整數,-263 至 263 - 1

'i8'

np.uint8

無符號整數,0 至 255

'u'np.uint16

無符號整數,0 至 65535

'u2'

np.uint32

無符號整數,0 至 2 ** 32 - 1

'u4'

np.uint64

無符號整數,0 至 2 ** 64 - 1

'u8'

np.float16

半精度浮點數:16位,正負號1位,指數5位,精度10位

'f2'

np.float32

單精度浮點數:32位,正負號1位,指數8位,精度23位

'f4'

np.float64

雙精度浮點數:64位,正負號1位,指數11位,精度52位

'f8'

np.complex64

複數,分別用兩個32位浮點數表示實部和虛部

'c8'

np.complex128

複數,分別用兩個64位浮點數表示實部和虛部

'c16'

np.object_

python物件

'o'np.string_

字串's'

np.unicode_

unicode型別

'u'基本操作

生成陣列

全0或全1陣列

全0:

# zeros(shape[, dtype, order]) zeros_like(a[, dtype, order, subok])

zero = np.zeros([2, 3])

"""zero 生成結果

array([[0., 0., 0.],

[0., 0., 0.]])

"""

全1:

# ones(shape[, dtype, order])

one = np.ones([2, 3])

"""one結果

array([[1., 1., 1.],

[1., 1., 1.]])

"""

從現有陣列生成

array(object[, dtype, copy, order, subok, ndmin])

asarray(a[, dtype, order])--(相當於拷貝中的淺拷貝當原始陣列發生變化對應也發生變化)

copy(a[, order])

生成固定範圍的陣列

np.linspace (start, stop, num, endpoint, retstep, dtype)

np.linspace (start, stop, num, endpoint, retstep, dtype)

"""start 序列的起始值

stop 序列的終止值,

如果endpoint為true,該值包含於序列中

num 要生成的等間隔樣例數量,預設為50

endpoint 序列中是否包含stop值,預設為ture

retstep 如果為true,返回樣例,

以及連續數字之間的步長

dtype 輸出ndarray的資料型別

"""# 生成等間隔的陣列

np.linspace(0, 100, 10)

# 返回結果

array([ 0. , 11.11111111, 22.22222222, 33.33333333,

44.44444444, 55.55555556, 66.66666667, 77.77777778,

88.88888889, 100. ])

其他 numpy.arange(start,stop, step, dtype)

numpy.logspace(start,stop, num, endpoint, base, dtype)

生成隨機數組

均勻分布

np.random.rand(d0, d1, ..., dn)

返回[0.0,1.0)內的一組均勻分布的數。

np.random.uniform(low=0.0, high=1.0, size=none)

功能:從乙個均勻分布[low,high)中隨機取樣,注意定義域是左閉右開,即包含low,不包含high.

引數介紹:

low: 取樣下界,float型別,預設值為0;

high: 取樣上界,float型別,預設值為1;

size: 輸出樣本數目,為int或元組(tuple)型別,例如,size=(m,n,k), 則輸出mnk個樣本,預設時輸出1個值。

返回值:ndarray型別,其形狀和引數size中描述一致。

np.random.randint(low, high=none, size=none, dtype='l')

從乙個均勻分布中隨機取樣,生成乙個整數或n維整數陣列,取數範圍:若high不為none時,取[low,high)之間隨機整數,否則取值[0,low)之間隨機整數。

正太分布

np.random.randn(d0, d1, …, dn)

功能:從標準正態分佈中返回乙個或多個樣本值

np.random.normal(loc=0.0, scale=1.0, size=none)

loc:float

​ 此概率分布的均值(對應著整個分布的中心centre)

scale:float

​ 此概率分布的標準差(對應於分布的寬度,scale越大越矮胖,scale越小,越瘦高)

size:int or tuple of ints

​ 輸出的shape,預設為none,只輸出乙個值

np.random.standard_normal(size=none)

返回指定形狀的標準正態分佈的陣列。

陣列的索引切片

切片(類似列表切片)[組下標,別表切片]

索引[組,下標]

陣列去重

ndarray.unique(items) 直接呼叫unique函式去重

numpy簡單使用

建立一維陣列 in 1 import numpy as np in 2 np.array 1,2,3 out 2 array 1,2,3 in 3 np.linspace 2.0,3.0,num 5 out 3 array 2.2.25,2.5 2.75,3.建立二維陣列 in 3 data 2,4...

資料探勘工具numpy(三)Numpy索引和切片

通過幾個例項掌握numpy的索引和切片方法 import numpy as np file dir number.csv file dir表示檔案位置 delimiter表示資料之間的間隔符 dtype表示資料型別 unpack表示轉置 按列數逐行的讀取資料 t np.loadtxt file di...

NumPy庫的簡單使用

numpython提供了兩種基本的物件 陣列的屬性及其說明 屬性說明 ndim 返回int。表示陣列的維數 shape 返回tuple。表示陣列的尺寸,對於n行m列的矩陣,形狀為 n,m size 返回int。表示陣列的元素總數,等於陣列形狀的乘積 dtype 返回data type。描述陣列中元素...