Numpy基本用法

2021-08-21 00:00:02 字數 3698 閱讀 5125

《利用python進行資料分析》筆記

ndarray是n維陣列物件, 快速而靈活的大資料集容器

其中所有元素的資料型別必須是相同的

ndarray包括shape屬性(各維度大小的元組)和dtype屬性(陣列資料型別)

ndarray建立函式

特點array

支援列表,元組,陣列或其他序列型別,可推斷也可指定dtype

arange

相當於range,返回ndarray而非列表

zeros,zeros_like

指定shape和dtype建立陣列,以0填充;like表示以另一陣列做引數建立

ones,ones_like

同上,以1填充

empty,empty_like

同上,無填充

eye,identity

功能相同引數不同,建立n階單位矩陣(僅對角線為1,其餘為0)

import numpy as np

# 建立基本陣列

data1 = [6, 7.5, 8, 0, 1]

data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]

arr1 = np.array(data2)

arrshape = arr1.shape # 陣列大小(行,列)

arrdtype = arr1.dtype # 陣列資料型別

print(f"陣列:\n數字大小:\n陣列資料型別:\n")

# 創造隨機數的陣列

from numpy.matlib import randn

arr=randn(3,2)#三行二列的正態分佈隨機數陣列,平均值0,標準差1

# 建立特殊陣列

arr2=np.zeros((2,3))#建立乙個以0填充的2行3列陣列

print(arr2)

資料型別

形式簡寫的型別**

浮點數float16,float32,float64,float128

f2,f4,f8,f16

複數complex64,complex128,complex256

c8,c16,c32

整數int8,int16,int32,int64

i1,i2,i4,i8

布林值bool

?字串

string_

s普通的python物件

object

o固定長度的unicode

unicode_

u

#檢視資料型別dtype

arr=np.array([1,2,3,4,5])

print(arr.dtype)

#資料型別轉換方式astype

arr2=arr.astype(np.float32)

支援類似list的索引和切片

與list區別在於,ndarray的修改會改變源陣列

#索引矩陣按行列索引,[0][0]表示第一行第一列的資料

arr[0][0]

#:表示選取整個橫軸,縱軸,數字表示該軸上的切片起始位置

arr[:,:1]

#支援布林值,判斷是否與字串相等會對每個元素生成true或false

arr == 'hello'

#花式索引,選取第1,3,5行生成新陣列,從0開始,支援-1

arr[[1,3,5]]

#t表示轉置陣列的檢視,不會修改

arr.t

#transpose支援高維陣列的轉置

#swapaxes表示轉置條件為幾行幾列

arr.swapaxes(1,2)

一元函式(引數為乙個陣列)

函式功能

abs,sqrt,square,exp

計算每個元素的絕對值,平方根,平方,e指數

log,log10,log2

底e,10,2的對數

ceil,floor

天花板,地板

sign

計算元素符號,1為正,-1為負

rint

四捨五入

modf

整數和小數分兩部分返回

isnan

判斷是nan則返回true

isfinite,isinf

有窮,無窮

sin,cos,tan,arcsin,arccos,arctan

三角函式

二元函式(引數為兩個陣列)

函式功能

add兩個陣列對應元素相加

subtract

相減multiply

相乘divide,floor_divide

相除,捨棄餘數的相除

power

第乙個引數為底,第二個引數為冪

maximum,fmax

比較後返回最大值,fmax忽略nan

minimum,fmin

最小值mod

第乙個陣列對第二個陣列取模

copysign

複製第二個陣列的符號給第乙個陣列

greater,greater_equal,less,less_equal,equal,not_equal

比較,返回布林

logical_and,logical_or,logical_xor

邏輯,與或非

聚合函式

函式功能

sum全部元素或某個軸元素求和

mean

算術平均數

std,var,max,min

標準差,方差,最大值,最小值

argmax,argmin

最大最小值的索引

cumsum,cumprod

所有元素累積和和累積積

集合函式

函式功能

sort,sorted

排序,可對某列操作

unique

計算唯一元素,返回有序結果

interset1d

交集union1d

並集in1d

返回布林陣列,判斷兩個陣列元素是否包含關係

setdiff1d差集

矩陣函式

函式功能

diag

將矩陣對角線元素以一位陣列形式返回

dot矩陣相乘

trace

對角線的和

det行列式

eig方陣的本徵值和本徵向量

inv方陣的逆

qrqr分解

svd奇異值分解

solve

解線性方程

lstsq

最小二乘解

隨機數生成函式

函式功能

seed

種子shuffle

對序列進行隨機排列

rand

均勻分布

randint

給定上下限的隨機數

randn

正態分佈,平均值為0,標準差為1

binomial

二項分布

normal

正態分佈

beta

beta分布

chisquare

卡方分布

gamma

gamma分布

uniform

在0,1之間的均勻分布

Numpy 基本用法

encoding utf 8 import numpy as np x 歐幾里得距離 def distance betwin p p1,p2 np.sqrt p1 0 p2 0 p1 0 p2 0 p1 1 p2 1 2 建立乙個指定行列的陣列,預設值是0或者正無窮或負無窮 np.empty 3,4...

Numpy基本用法 ndarray的資料型別

print 生成指定元素型別的陣列 設定dtype屬性 x numpy.array 1,2.6,3 dtype numpy.int64 print x 元素型別為int64 print x.dtype x numpy.array 1,2,3 dtype numpy.float64 print x 元...

numpy用法總結

python的乙個開源的數值計算擴充套件。這種工具可用來儲存和處理大型矩陣,比python自身的巢狀列表 nested list structure 結構要高效的多 該結構也可以用來表示矩陣 matrix 功能 返回數字或陣列的絕對值。若輸入為陣列,則將陣列各元素取絕對值,然後返回取絕對值後的陣列 ...