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。描述陣列中元素...