欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:Numpy基礎(chǔ)

柚子快報激活碼778899分享:Numpy基礎(chǔ)

http://yzkb.51969.com/

目錄:

一、簡介:二、array數(shù)組ndarray:1.array( )創(chuàng)建數(shù)組:2.數(shù)組賦值和引用的區(qū)別:3.arange( )創(chuàng)建區(qū)間數(shù)組:4.linspace( )創(chuàng)建等差數(shù)列:5.logspace( )創(chuàng)建等比數(shù)列:6.zeros( )創(chuàng)建全0數(shù)組:7.ones( )創(chuàng)建全1數(shù)組:8.NumPy數(shù)組屬性:(1)shape屬性:(2)reshape屬性:調(diào)整數(shù)組維度

9.一維數(shù)組切片、索引操作:10.二維數(shù)組切片、索引操作:11.整數(shù)數(shù)組索引:(1)一次性取多個元素,返回一維數(shù)組:(2)一次性取多個元素,將待返回的一維數(shù)組重整成二維數(shù)組返回:(3)一次性取連續(xù)的多行多列元素,返回二維數(shù)組:(4)取特定行特定列不連續(xù)元素,返回二維數(shù)組:

12.布爾數(shù)組索引:(1)以數(shù)組形式返回數(shù)組x>6的元素:(2)以數(shù)組形式返回數(shù)組中奇數(shù)的元素:(3)根據(jù)True|False返回數(shù)組中符合要求的元素數(shù)組:取行:取列:

三、廣播機(jī)制:四、numpy統(tǒng)計:1.平均值:2.中位數(shù):3.標(biāo)準(zhǔn)差:4.方差:5.最大值:6.最小值:7.加權(quán)平均值:

五、自定義結(jié)構(gòu)化數(shù)據(jù)類型:*注:數(shù)據(jù)類型別名:*

六、文件操作:1.讀取普通文本文件:2.讀取csv文件:3.讀取不同列表示不同信息文件:4.空數(shù)據(jù)處理:

七、隨機(jī)數(shù):八、numpy常用函數(shù):1.resize( ):2.unique( ):3.sort( ):

一、簡介:

是Python 科學(xué)計算庫,方便對數(shù)組、矩陣進(jìn)行計算,包含大量線性代數(shù)、傅里葉變換、隨機(jī)數(shù)等大量函數(shù)。直接以數(shù)組、矩陣為粒度計算并支撐大量的數(shù)學(xué)函數(shù),效率高。各種數(shù)據(jù)科學(xué)類庫(Scikit-Learn、TensorFlow、Pandas)等的基礎(chǔ)庫。

二、array數(shù)組ndarray:

1.array( )創(chuàng)建數(shù)組:

import numpy as np

my_list = [

[1,2,3,4],

[5,6,7,8],

[9,10,11,12],

[13,14,15,16]

]

#先將my_list二維數(shù)組元素強轉(zhuǎn)為float型,然后是用該數(shù)組創(chuàng)建二維ndarray數(shù)組

my_ndarray = np.array(my_list,float,ndmin=2)

print(my_ndarray)

2.數(shù)組賦值和引用的區(qū)別:

#1.引用機(jī)制(指針)

my_ndarray_copy = my_ndarray

print('my_ndarray的內(nèi)存地址:',id(my_ndarray))

print('my_ndarray_copy的內(nèi)存地址:',id(my_ndarray_copy))

#2.拷貝機(jī)制

my_ndarray_copy = np.array(my_ndarray)

print('my_ndarray的內(nèi)存地址:',id(my_ndarray))

print('my_ndarray_copy的內(nèi)存地址:',id(my_ndarray_copy))

3.arange( )創(chuàng)建區(qū)間數(shù)組:

a = np.arange(10,20,2,dtype=float)

print(a)

4.linspace( )創(chuàng)建等差數(shù)列:

等差數(shù)列在線性回歸經(jīng)常用作樣本集

#創(chuàng)建起始值為0,終止值為100,樣本數(shù)量為11的等差數(shù)列數(shù)組

b = np.linspace(0,100,11,dtype=int)

print(b)

5.logspace( )創(chuàng)建等比數(shù)列:

#首先將1-5區(qū)間均勻取3個數(shù)X(1,3,5),然后創(chuàng)建int型等比數(shù)列,元素值為X^base(起始值為1^2,終止值為5^2)

c = np.logspace(1,5,3,base=2,dtype=int)

print(c)

6.zeros( )創(chuàng)建全0數(shù)組:

'''

第一個參數(shù):

(a)表示a個元素的一維數(shù)組

(a,b)表示a行b列的二維數(shù)組

(a,b,c)表示a塊,每塊b行c列的三維數(shù)組

'''

#創(chuàng)建2行2列的全0數(shù)組

d = np.zeros((2,2),dtype=int)

print(d)

7.ones( )創(chuàng)建全1數(shù)組:

參數(shù)同全0

'''

第一個參數(shù):

(a)表示a個元素的一維數(shù)組

(a,b)表示a行b列的二維數(shù)組

(a,b,c)表示a塊,每塊b行c列的三維數(shù)組

'''

#創(chuàng)建2行2列的全1數(shù)組

e = np.ones((2,2),dtype=int)

print(e)

8.NumPy數(shù)組屬性:

(1)shape屬性:

shape返回值:

(a)表示a個元素的一維數(shù)組(a,b)表示a行b列的二維數(shù)組(a,b,c)表示a塊,每塊b行c列的三維數(shù)組

(2)reshape屬性:調(diào)整數(shù)組維度

返回調(diào)整維度后的副本,而不改變原ndarray

f = np.arange(20).reshape(4,5)

print(f)

9.一維數(shù)組切片、索引操作:

冒號::解釋

[2]將返回與該索引相對應(yīng)的單個元素[2:7]將返回兩個索引之間的元素,不包括停止索引[2:]表示從該索引開始以后的所有元素都將被提取[:7]表示該索引之前的所有元素都將被提取[::-1]表示取反,從后往前取所有元素,步長為-1

a1 = np.arange(10)

print(a1)

#切片操作(注意是引用,a1、a2實際上指向同一片內(nèi)存空間)

a2 = a1[2:7:2]

print(a2)

#理解引用機(jī)制,并理解索引=數(shù)組下標(biāo)=位序-1,

a2[1]=888

print(a1)

print(a2)

10.二維數(shù)組切片、索引操作:

冒號::解釋

[2]將返回一維數(shù)組[2][2]將返回特定元素[2:7]將返回兩個索引之間的一維數(shù)組集,即返回一個二維數(shù)組,不包括停止索引[2:]表示從該索引開始以后的所有一維數(shù)組集,即返回一個二維數(shù)組都將被提取[:7]表示該索引之前的所有一維數(shù)組集,即返回一個二維數(shù)組都將被提取[...][1]表示[…]先取所有行即取所有元素,[1]再取所有行的第二行一維數(shù)組[2,2]將返回特定元素[...,1]或[:,1]返回第二列元素,組成一個一維數(shù)組返回x[...,1:]返回第二列之后的所有列,組成一個二維數(shù)組返回

11.整數(shù)數(shù)組索引:

(1)一次性取多個元素,返回一維數(shù)組:

x = np.array([

[1,2],

[3,4],

[5,6]

])

#[0,0,2]是行索引,[0,1,1]是列索引,表示取[0,0]、[0,1]、[2,1]的元素,組成一維數(shù)組返回

y = x[[0,0,2],[0,1,1]]

y

(2)一次性取多個元素,將待返回的一維數(shù)組重整成二維數(shù)組返回:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

#行索引

r = np.array([0,0,0,2])

#列索引

c = np.array([0,1,2,2])

#x[r,c]根據(jù)索引獲取一維數(shù)組,reshape(2,2)將返回的4*1一維數(shù)組轉(zhuǎn)為2*2的二維數(shù)組

s = x[r,c].reshape(2,2)

s

(3)一次性取連續(xù)的多行多列元素,返回二維數(shù)組:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

#行取2行3行,列取2列3列

y = x[1:3,1:3]

y

(4)取特定行特定列不連續(xù)元素,返回二維數(shù)組:

#取1,3行、1,3,4列所有元素

x = np.array([

[1,2,3,4],

[4,5,6,7],

[7,8,9,10]

])

#先取1,3行,:可以換成...

temp = x[[0,2],:]

#再根據(jù)上一步結(jié)果取1,3,4列,:可以換成...

temp[:,[0,2,3]]

12.布爾數(shù)組索引:

當(dāng)返回的結(jié)果需要經(jīng)過布爾運算時,會使用到另一種高級索引方式,即布爾數(shù)組索引。

(1)以數(shù)組形式返回數(shù)組x>6的元素:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

#

x[x>6]

(2)以數(shù)組形式返回數(shù)組中奇數(shù)的元素:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

#將數(shù)組中所有奇數(shù)置為-1(x[x%2!=0]獲取奇數(shù),=-1賦值)

x[x%2!=0] = -1

x

(3)根據(jù)True|False返回數(shù)組中符合要求的元素數(shù)組:

取行:

x = np.array([

[1,2,3,4],

[4,5,6,7],

[7,8,9,10]

])

row = np.array([False,False,True])

print(x[row,...])

取列:

column = np.array([True,False,True,False])

x = np.array([

[1,2,3,4],

[4,5,6,7],

[7,8,9,10]

])

print(x[...,column])

三、廣播機(jī)制:

廣播是numpy對不同形狀的數(shù)組進(jìn)行數(shù)值計算的方式,對數(shù)組的算術(shù)運算通常在相應(yīng)的元素上進(jìn)行。

(1)若兩個數(shù)組形狀相同,那么兩個數(shù)組相乘即為數(shù)組對應(yīng)位置元素相乘。(2)若兩個數(shù)組形狀不同,那么兩個數(shù)組相乘就需要使用廣播機(jī)制。 廣播機(jī)制的核心是對形狀較小的數(shù)組,在橫向或縱向的進(jìn)行一定次數(shù)的重復(fù),使其與形狀較大的數(shù)組具有相同的維度后相加。

廣播的規(guī)則:

輸出數(shù)組的形狀是是輸入數(shù)組形狀的各個維度上的最大值。如果輸入數(shù)組的某個維度和輸出數(shù)組的對應(yīng)維度的長度相同或輸入數(shù)組的某個維度的長度為1時,這個輸入數(shù)組能夠用來計算,否則不能運算。當(dāng)輸入數(shù)組的某個維度的長度為1時,沿著此維度運算時都用此維度上的第一組數(shù)組值。

四、numpy統(tǒng)計:

1.平均值:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

#計算所有元素平均值

print(x.mean())

#從上至下計算每列平均值,返回一維數(shù)組

print(x.mean(axis=0))

#從左至右計算每行平均值,返回一維數(shù)組

print(x.mean(axis=1))

2.中位數(shù):

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

np.median(x)

3.標(biāo)準(zhǔn)差:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

np.std(x)

4.方差:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

np.var(x)

5.最大值:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

np.max(x)

6.最小值:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

np.min(x)

7.加權(quán)平均值:

x = np.array([

[1,2,3],

[4,5,6],

[7,8,9]

])

np.average(x)

五、自定義結(jié)構(gòu)化數(shù)據(jù)類型:

#創(chuàng)建結(jié)構(gòu)體

teacher = np.dtype([

#(變量名稱,變量數(shù)據(jù)類型->"數(shù)據(jù)類型別名+所占字節(jié)數(shù)")

("name","U8"),

("age","i1"),

("salary","f4")

])

#創(chuàng)建數(shù)組,數(shù)組元素為teacher類型

b = np.array(

[

("clh",20,30000),

("ccc",18,10000)

],dtype = teacher

)

print("數(shù)組b內(nèi)容為:",b)

print("數(shù)組中所有name:",b["name"])

注:數(shù)據(jù)類型別名:

六、文件操作:

注意:skiprows不忽略注釋行和空白行,從文檔第一行跳過

1.讀取普通文本文件:

文本文件一般用空格分隔數(shù)據(jù)

data = np.loadtxt("data.txt",dtype=np.int32)

2.讀取csv文件:

csv文件是以逗號分隔的文本文件

data = np.loadtxt("data.csv",dtype=np.int32,delimiter=",")

3.讀取不同列表示不同信息文件:

#1.定義結(jié)構(gòu)體

user_info = np.dtype(

[

("name","U10"),

("age","i1"),

("gender","U1"),

("height","i2")

]

)

#2.用結(jié)構(gòu)體類型接數(shù)據(jù),并且使用skiprows跳過第一行不讀

data = np.loadtxt("data.txt",dtype=user_info,skiprows=1,encoding="utf-8")

4.空數(shù)據(jù)處理:

#使用異常機(jī)制

def parse_age(age):

try:

return int(age)

except:

return 0

#converters調(diào)用自定義函數(shù)進(jìn)行空數(shù)據(jù)處理

data = np.loadtxt("data.csv",delimiter=",",usecols=1,converters={1:parse_age})

七、隨機(jī)數(shù):

'''

(a)表示a個元素的一維數(shù)組

(a,b)表示a行b列的二維數(shù)組

(a,b,c)表示a塊,每塊b行c列的三維數(shù)組

'''

#創(chuàng)建[0,1)內(nèi)給定維度的隨機(jī)數(shù)組,該組元素符合正態(tài)分布

np.random.rand(3,3)

#返回5*5個[1,5)內(nèi)的隨機(jī)整數(shù)

np.random.randint(1,5,size=(5,5))

八、numpy常用函數(shù):

1.resize( ):

#元素不夠時使用原數(shù)組數(shù)據(jù)補齊

a = np.array([1,2,3,4,5,6,7,8,9])

np.resize(a,(4,4))

#元素不夠時使用0補齊

a = np.array([1,2,3,4,5,6,7,8,9])

a.resize((4,4),refcheck=False)

a

2.unique( ):

#去重+排序,返回去重后的數(shù)組+元素所在原數(shù)組的索引+各元素重復(fù)次數(shù)

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

b,indices,nums = np.unique(a,return_index=True,return_counts=True)

print(b)

print(indices)

print(nums)

3.sort( ):

#結(jié)構(gòu)體

teacher = np.dtype([

#(變量名稱,變量數(shù)據(jù)類型)

("name","U8"),

("age","i1"),

("salary","f4")

])

#創(chuàng)建數(shù)組,數(shù)組元素為teacher類型

b = np.array(

[

("clh",20,30000),

("ccc",18,10000)

],dtype = teacher

)

#按年齡排序

np.sort(b,order="age")

柚子快報激活碼778899分享:Numpy基礎(chǔ)

http://yzkb.51969.com/

好文鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19083128.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄