X[:,0]是numpy中數(shù)組的一種寫(xiě)法,表示對(duì)一個(gè)二維數(shù)組,取該二維數(shù)組第一維中的所有數(shù)據(jù),第二維中取第0個(gè)數(shù)據(jù),直觀來(lái)說(shuō),X[:,0]就是取所有行的第0個(gè)數(shù)據(jù), X[:,1] 就是取所有行的第1個(gè)數(shù)據(jù)。
import numpy as np X = np.array([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19]]) print X[:,0]
X[:,0]輸出結(jié)果是:
import numpy as np X = np.array([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19]]) print X[:,1]
X[:,1]輸出結(jié)果是:
X[n,:]是取第1維中下標(biāo)為n的元素的所有值。
X[1,:]即取第一維中下標(biāo)為1的元素的所有值,輸出結(jié)果:
X[:, m:n],即取所有數(shù)據(jù)的第m到n-1列數(shù)據(jù),含左不含右
X = np.array([[0,1,2],[3,4,5],[6,7,8],[9,10,11],[12,13,14],[15,16,17],[18,19,20]]) print X[:,1:3]
輸出結(jié)果:
補(bǔ)充:python中的[1:]、[::-1]、X[:,m:n]和X[1,:]
意思是去掉列表中第一個(gè)元素(下標(biāo)為0),去后面的元素進(jìn)行操作,以一個(gè)示例題為例,用在遍歷中統(tǒng)計(jì)個(gè)數(shù):
題:讀入N名學(xué)生的成績(jī),將獲得某一給定分?jǐn)?shù)的學(xué)生人數(shù)輸出。
輸入在第1行給出不超過(guò)10^5^的正整數(shù)N,即學(xué)生總?cè)藬?shù)。隨后1行給出N名學(xué)生的百分制整數(shù)成績(jī),中間以空格分隔。最后1行給出要查詢的分?jǐn)?shù)個(gè)數(shù)K(不超過(guò)N的正整數(shù)),隨后是K個(gè)分?jǐn)?shù),中間以空格分隔。
在一行中按查詢順序給出得分等于指定分?jǐn)?shù)的學(xué)生人數(shù),中間以空格分隔,但行末不得有多余空格。
stu_num = input('請(qǐng)輸入學(xué)生總?cè)藬?shù):') stu_grade = input('請(qǐng)輸入每位學(xué)生的成績(jī)(百分制),并以空格分開(kāi):').split() # 將如數(shù)的字符串轉(zhuǎn)化成列表 num_and_grade = input('請(qǐng)輸入要統(tǒng)計(jì)幾個(gè)分?jǐn)?shù),以及每個(gè)分?jǐn)?shù)值,以空格分開(kāi):').split() # 轉(zhuǎn)成列表格式 result = [] # 定義一個(gè)新列表保存結(jié)果 for i in num_and_grade[1:]: # 定義變量i,遍歷num_and_grade[]列表中除了第一個(gè)元素的其他元素 result.append(str(stu_grade.count(i))) # 利用Python的count()函數(shù)統(tǒng)計(jì)相應(yīng)i值在列表stu_grade[]列表中的個(gè)數(shù),轉(zhuǎn)換成字符串格式并追加到result[]列表中 print(" ".join(result)) # 列表轉(zhuǎn)換成字符串格式,打印結(jié)果
結(jié)果:
請(qǐng)輸入學(xué)生總?cè)藬?shù):10
請(qǐng)輸入每位學(xué)生的成績(jī)(百分制),并以空格分開(kāi):88 99 75 88 95 42 78 88 95 99
請(qǐng)輸入要統(tǒng)計(jì)幾個(gè)分?jǐn)?shù),以及每個(gè)分?jǐn)?shù)值,以空格分開(kāi):3 88 99 95
3 2 2
這個(gè)是python的slice notation的特殊用法。
b = a[i:j] 表示復(fù)制a[i]到a[j-1],以生成新的list對(duì)象
當(dāng)i缺省時(shí),默認(rèn)為0,即 a[:3]相當(dāng)于 a[0:3]
當(dāng)j缺省時(shí),默認(rèn)為len(alist), 即a[1:]相當(dāng)于a[1:10]
當(dāng)i,j都缺省時(shí),a[:]就相當(dāng)于完整復(fù)制一份a了
b = a[i:j:s]這種格式呢,i,j與上面的一樣,但s表示步進(jìn),缺省為1.
所以a[i:j:1]相當(dāng)于a[i:j]
當(dāng)s0時(shí):i缺省時(shí),默認(rèn)為-1; j缺省時(shí),默認(rèn)為-len(a)-1
所以a[::-1]相當(dāng)于 a[-1:-len(a)-1:-1],也就是從最后一個(gè)元素到第一個(gè)元素復(fù)制一遍。
a = ['a','b','c','d','e','f','g','h','g','k','l','m'] b = a[:] # 列表切片,表示把列表a[]的值全部正序復(fù)制到列表b[]中 print(b) # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm'] # b = a[n:m]表示列表切片,復(fù)制列表a[n]到a[m-1]的內(nèi)容到新的列表對(duì)象b[] # 當(dāng)n缺省時(shí),默認(rèn)為0,即a[:m] # 當(dāng)m缺省時(shí),默認(rèn)到最后,即a[n:] b1 = a[1:4] print(b1) # ['b', 'c', 'd'] b2 = a[:3] print(b2) # ['a', 'b', 'c'] b3 = a[1:] print(b3) # ['b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm'] # b = a[i:j:s]這種格式呢,i,j與上面的一樣,但s表示步進(jìn),缺省為1,s可以取任何數(shù)字. # 所以a[i:j:1]相當(dāng)于a[i:j] b4 = a[1:5:2] print(b4) # ['b', 'd'] b5 = a[:5:-1] # 從末尾倒數(shù)取值 print(b5) # ['m', 'l', 'k', 'g', 'h', 'g'] b6 = a[5::-2] print(b6) # 從a[n]處倒數(shù)取值 b7 = a[::-1] # 到這取值 print(b7) # ['m', 'l', 'k', 'g', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']
輸出結(jié)果:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm']
['b', 'c', 'd']
['a', 'b', 'c']
['b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm']
['b', 'd']
['m', 'l', 'k', 'g', 'h', 'g']
['f', 'd', 'b']
['m', 'l', 'k', 'g', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']
X[:,0]是numpy中數(shù)組的一種寫(xiě)法,表示對(duì)一個(gè)二維數(shù)組,取該二維數(shù)組第一維中的所有數(shù)據(jù),第二維中取第0個(gè)數(shù)據(jù),直觀來(lái)說(shuō),X[:,0]就是取所有行的第0個(gè)數(shù)據(jù), X[:,1] 就是取所有行的第1個(gè)數(shù)據(jù)。
X[n,:]是取第1維中下標(biāo)為n的元素的所有值。
X[:, m:n],即取所有數(shù)據(jù)的第m到n-1列數(shù)據(jù),含左不含右
import numpy as np X = np.array([[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]]) # 定義二維數(shù)組 print(X[:,0]) # 取數(shù)組X二維數(shù)組中每一個(gè)的0號(hào)下標(biāo)對(duì)應(yīng)的值 [0 4 8 12] print(X[1,:]) # 取數(shù)組X一維數(shù)組中的第一組全部數(shù)值 [0 1 2 3] print(X[:,1:3]) #取所有數(shù)據(jù)的第1列到3-1列數(shù)據(jù),從第0列開(kāi)始計(jì)算,結(jié)果如下: ''' [[1 2] [5 6] [9 10] [13 14]] '''
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:黑龍江 黔西 上海 益陽(yáng) 常德 鷹潭 四川 惠州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python中X[:,0]和X[:,1]的用法》,本文關(guān)鍵詞 Python,中,和,的,用法,Python,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。