




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《數(shù)據(jù)采集與處理:基于Python》復(fù)習思考題、習題與答案第三章Numpy與Pandas基礎(chǔ)1、計算numpy中元素個數(shù)的方法是?A、np.sqrt()B、np.size()C、np.identityD、np.len()答案:B2、已知c=np.arange(16).reshape(2,4,2)那么c.sum(axis=0)所得的結(jié)果為?A、array([[12,16],[44,48],[76,80]])B、array([[1,5,9,13],[17,21,25,29],[33,37,41,45]])C、array([[24,27],[30,33],[36,39],[42,45]])D、array([[8,10],[12,14],[16,18],[20,22]])答案:D
解析:構(gòu)造數(shù)組為2個4*2數(shù)組,axis=0即求和是在第0維前后兩頁array上對應(yīng)元素求和,得到4*2的數(shù)組3、有數(shù)組n=np.arange(24).reshape(2,-1,2,2),n.shape的返回結(jié)果是什么?A、(2,3,2,2)B、(2,2,2,2)C、(2,4,2,2)D、(2,6,2,2)答案:A4、numpy中創(chuàng)建全為0的矩陣使用函數(shù)為?A、zeros.B、ones.C、empty.D、arange.答案:A5、numpy中向量轉(zhuǎn)成矩陣使用函數(shù)為?A、randomB、revalC、reshapeD、arange答案:C
解析:考察numpy函數(shù)功能6、在使用numpy時需要如何導(dǎo)入?A、不用導(dǎo)入,直接使用B、importnumpyasnpC、importsysD、importpandas答案:B
解析:考察numpy模塊名稱與導(dǎo)入方法7、importnumpyasnp;t1=np.arange(16).reshape((4,4)),如何將t1數(shù)組進行行列轉(zhuǎn)置?A、t1.TB、t1.transpose()C、t1.swapaxes(0,1)D、以上都對答案:D
解析:numpy多維數(shù)組的多種轉(zhuǎn)置方法8、對numpy生成的數(shù)組中,隨機選擇部分樣本,使用哪個函數(shù)?A、sample()B、select()C、choice()D、shuffle()答案:C
解析:choice(a[,size,replace,p]):從一維數(shù)組a中以概率p抽取元素,形成size形狀新數(shù)組,replace表示是否可以重用元素,默認為False9、下列numpy中哪個函數(shù)可以生成符合標準正態(tài)分布的數(shù)組?A、random.rand()B、random.randint()C、random.random()D、random.randn()答案:D
解析:考察numpy隨機數(shù)生成函數(shù)及區(qū)別10、importnumpyasnp;arr=np.arange(10).reshape((5,2))[:,0:-1:2],arr的值是?A、[[1],[2],[3],[4],[5]]B、[[5],[6],[7],[8],[9]]C、[[0],[2],[4],[6],[8]]D、所列結(jié)果都不對答案:C
解析:考察numpy數(shù)組重塑與切片操作11、使用numpy創(chuàng)建一個大小為10的零向量數(shù)組,函數(shù)形式為____。答案:zeros(10);np.zeros(10)12、使用numpy創(chuàng)建一個數(shù)組,使它的值為10到49,函數(shù)形式為____。答案:arange(10,50);arange(10,50,1);np.arange(10,50);
np.arange(10,50,1)13、5x3矩陣乘3x2矩陣,對應(yīng)結(jié)果的形狀是____。答案:(5,2);5x214、arr=np.arange(10),寫出獲取數(shù)組arr第3至第8個元素(注意3和8不是索引下標)的切片語句____。答案:arr[2:8]15、numpy中根據(jù)起止數(shù)據(jù)等間距地生成數(shù)組的函數(shù)是____。答案:linspace();np.linspace()16、numpy中能夠一次完成多個數(shù)組拼接的函數(shù)是____。答案:concatenate();np.concatenate()17、numpy生成的數(shù)組中,其元素數(shù)據(jù)類型____(必須相同/可以不同)。答案:必須相同18、TT=np.arange(4)-2,變量TT的值為____。答案:[-2-101];array([-2,-1,0,1]);[-2,-1,0,1];[-2,-1,0,1][-2-101];array([-2,-1,
0,
1]);[-2,-1,
0,
1];[-2,-1,0,1]19、TT=np.arange(4).mean(),變量TT的值為____。答案:1.520、numpy中讀取CSV文件的函數(shù)是____。答案:loadtxt();np.loadtxt()21、使用np.random.random創(chuàng)建一個10*10對象,并打印出其最大、最新元素和均值。
{答案:importnumpyasnp
a=np.random.random((10,10))
print(a.max(),a.min(),a.mean())
}22、使用numpy生成3行4列的數(shù)值為0至11之間整數(shù)的2維數(shù)組,然后使矩陣每行的數(shù)據(jù)減去該行的均值,并保持原來形狀,輸出結(jié)果。試寫出完整Python代碼。
{答案:importnumpyasnp
X=np.arange(12).reshape((3,4))
print("X=",X)
Y=X-X.mean(axis=1,keepdims=True)
print("Y=",Y)
}
解析:numpy.mean(a,axis,dtype,out,keepdims),axis=1:壓縮列,對各行求均值;keepdims=True表示維度縮減的軸在運算之后仍被保留23、創(chuàng)建一個長度為10的一維全為0的ndarray對象,第五個元素為1,并打印,寫出完整Python代碼.
{答案:importnumpyasnp
a=np.zeros((10,))
a[4]=1
print(a)
}24、給定數(shù)組[1,2,3,4,5],如何得到在這個數(shù)組的每個元素之間插入3個0后的新數(shù)組?試使用numpy模塊寫出完整Python代碼.
{答案:importnumpyasnp
nd1=np.arange(1,6)
nd2=np.zeros(shape=17,dtype=int)
nd2[::4]=nd1
}25、創(chuàng)建一個5*3隨機矩陣和一個3*2的元素值為0~100之間隨機整數(shù)的矩陣,求矩陣積,打印結(jié)果。試用numpy模塊實現(xiàn)并寫出完整Python代碼.
{答案:importnumpyasnp
n1=np.random.randint(0,100,size=(5,3))
n2=np.random.randint(0,100,size=(3,2))
result=np.dot(n1,n2)
print("結(jié)果為",result)
}26、通過Numpy創(chuàng)建的數(shù)組與列表相比,有何異同?數(shù)據(jù)類型限制、存儲效率、運算效率、矩陣運算、算術(shù)運算區(qū)別如乘法?答案:Numpy創(chuàng)建的數(shù)組,其元素數(shù)據(jù)類型都是相同的,而列表則可以不同,這導(dǎo)致列表的存儲效率和運算效率都較低。Numpy數(shù)組支持矩陣運算,而列表不支持;在算術(shù)運算上也有區(qū)別,對于乘法運算,列表是對元素進行復(fù)制,而Numpy數(shù)組則是針對其上的每個元素進行乘法算術(shù)運算27、Numpy創(chuàng)建數(shù)組的函數(shù)arange()、linspace()、logspace()各有什么作用?答案:arange函數(shù)類似于python的range函數(shù),通過指定開始值、終值和步長來創(chuàng)建一維數(shù)組,注意數(shù)組不包括終值linspace函數(shù)通過指定開始值、終值和元素個數(shù)來創(chuàng)建一維數(shù)組,可以通過endpoint關(guān)鍵字指定是否包括終值,缺省設(shè)置是包括終值logspace函數(shù)和linspace類似,不過它創(chuàng)建等比數(shù)列,起始位和終止位代表的是10的冪(默認基數(shù)為10),如果想要改變基數(shù),則需要修改其默認基數(shù),輸入有第四個參數(shù)base,改變其值即可。28、Numpy存取元素的方法都有哪些?存取后的變量與原始數(shù)組是否共享數(shù)據(jù)空間,分不同情況么?答案:Numpy存取元素的方法有多種,如:1)用整數(shù)作為下標可以獲取數(shù)組中的某個元素;2)用范圍作為下標獲取數(shù)組的一個切片,符號使用“:”,形式為[起點:終點:步長],下標可以使用負數(shù),表示從數(shù)組后往前數(shù),缺省范圍為左閉右開。通過下標范圍獲取的新的數(shù)組是原始數(shù)組的一個視圖,即與原始數(shù)組共享同一塊數(shù)據(jù)空間;3)使用整數(shù)序列。當使用整數(shù)序列對數(shù)組元素進行存取時,將使用整數(shù)序列中的每個元素作為下標,整數(shù)序列可以是列表或者數(shù)組。使用整數(shù)序列作為下標獲得的數(shù)組不和原始數(shù)組共享數(shù)據(jù)空間;4)使用布爾數(shù)組。當使用布爾數(shù)組b作為下標存取數(shù)組x中的元素時,將收集數(shù)組x中所有在數(shù)組b中對應(yīng)下標為True的元素。使用布爾數(shù)組作為下標獲得的數(shù)組不和原始數(shù)組共享數(shù)據(jù)空間,注意這種方式只對應(yīng)于布爾數(shù)組,不能使用布爾列表29、Numpy的any()和all()方法有何作用和區(qū)別?答案:數(shù)組的any()或all()方法。只要數(shù)組中有一個值為True,則any()返回True;而只有數(shù)組的全部元素都為True,all()才返回True30、Numpy的兩個數(shù)組的shape不同的話,如何進行算術(shù)運算?答案:使用ufunc函數(shù)對兩個數(shù)組進行計算時,ufunc函數(shù)會對這兩個數(shù)組的對應(yīng)元素進行計算,因此它要求這兩個數(shù)組有相同的大小(shape相同)。如果兩個數(shù)組的shape不同的話,會進行如下的廣播(broadcasting)處理:1.讓所有輸入數(shù)組都向其中shape最長的數(shù)組看齊,shape中不足的部分都通過在前面加1補齊。2.輸出數(shù)組的shape是輸入數(shù)組shape的各個軸上的最大值。3.如果輸入數(shù)組的某個軸和輸出數(shù)組的對應(yīng)軸的長度相同或者其長度為1時,這個數(shù)組能夠用來計算,否則出錯。4.當輸入數(shù)組的某個軸的長度為1時,沿著此軸運算時都用此軸上的第一組值。31、Numpy數(shù)組的拼接方法都有哪些?簡單介紹答案:Python中numpy數(shù)組的合并有很多方法,如:1)np.append()。用于合并兩個數(shù)組。該函數(shù)返回一個新數(shù)組,原始數(shù)組保持不變.函數(shù)語法為:numpy.append(arr,values,axis=None).axis:該軸指定沿其附加值的軸。如果未提供軸,則將兩個陣列展平;values:值是類似數(shù)組的對象,并附加到“arr”元素的末尾2)np.concatenate()。參數(shù)為要連接的數(shù)組對象和指定連接的軸axis。axis=1進行水平組合,axis=0進行垂直組合3)np.stack()。把數(shù)組給堆疊起來,函數(shù)原型為:stack(arrays,axis=0),arrays可以傳數(shù)組和列表。axis=1進行水平組合,即水平(按列順序)將數(shù)組進行堆疊;axis=0進行垂直組合4)np.hstack()。參數(shù)為要連接的數(shù)組對象,進行水平組合5)np.vstack()。參數(shù)為要連接的數(shù)組對象,進行垂直組合6)np.dstack()。深度組合:沿著縱軸方向組合其中最泛用的是第一個和第二個。第一個可讀性好,比較靈活,但是占內(nèi)存大。第二個則沒有內(nèi)存占用大的問題32、Pandas中DataFrame對象調(diào)用描述性統(tǒng)計方法describe,對數(shù)值型的列數(shù)據(jù)會輸出哪些統(tǒng)計結(jié)果,而對類別或文本型的列數(shù)據(jù)又會輸出哪些統(tǒng)計結(jié)果答案:數(shù)值型數(shù)據(jù)列的描述性統(tǒng)計,會輸出針對數(shù)據(jù)的統(tǒng)計信息,如均值、標準差、中值、最小值、最大值及四分位統(tǒng)計值等;而類別或文本型列數(shù)據(jù)的描述性統(tǒng)計,其結(jié)果包括count(計數(shù))、unique(唯一值個數(shù))、top(出現(xiàn)頻率最高的值)、freq(頻率最高值的頻度)等。33、簡述pandas數(shù)據(jù)對象Series和DataFrame的算數(shù)運算的對齊機制答案:pandas可以對不同索引的對象進行算術(shù)運算,如果存在不同的索引對,結(jié)果的索引就是該索引對的并集。sereis相加會自動進行數(shù)據(jù)對齊操作,在不重疊的索引處會使用NA(NaN)值進行填充,series進行算術(shù)運算的時候,不需要保證series的大小一致。dataFrame相加時,對齊操作需要行和列的索引都重疊的時候才會相加,否則會使用NA值進行填充。使用add方法對兩個series進行相加的時候,設(shè)置fill_value的值是對于不存在索引的series用指定值進行填充后再進行相加。除了加法add,還有sub減法,div除法,mul乘法,使用方式與add相同。DataFrame與series一樣。34、簡述Pandas中的兩類數(shù)據(jù)結(jié)構(gòu)Series和DataFrame的特點與作用?答案:Series是一維標記數(shù)組,可以存儲任意數(shù)據(jù)類型,如整型、字符串、浮點型和Python對象等,軸標一般指索引。DataFrame是二維標記數(shù)據(jù)結(jié)構(gòu),列可以是不同的數(shù)據(jù)類型。它是最常用的pandas對象,像Series一樣可以接收多種輸入:lists、dicts、series和DataFrame等。初始化對象時,除了數(shù)據(jù)還可以傳index和columns這兩個參數(shù)。Series兼具Numpy數(shù)組的特點,運算效率高,支持對元素的成批量運算,但相比Numpy數(shù)組,還支持自動對齊的計算,并提供了多種函數(shù)支持數(shù)據(jù)的讀入、處理、分析等功能;特別是DataFrame,支持多種數(shù)據(jù)源的讀入,特別是對關(guān)系數(shù)據(jù)庫的訪問和數(shù)據(jù)處理,非常高效。35、簡述Pandas中DataFrame與Numpy中二維數(shù)組的檢索方法的異同答案:對于DataFrame對象,其只有直接的df[][]索引和ndarray不一樣,此時DataFrame先索引的是列,而不是行,也沒有df[i,j]的索引方法,但是對于切片索引以及df.iloc的索引方法,和ndarray完全一樣;此外,DataFrame還有df.loc的標簽索引方法。首先對于ndarray,如二維的ndarray對象arr,則arr[i]和arr[i][j](等價于arr(i,j))都可以表示索引,其中arr[i]表示行索引,arr[i][j]表示有順序的先進行第一個維度的索引(即行),再進行第二個維度的索引(即對應(yīng)的行中的元素)。對于DataFrame,如一個DataFrame對象df.雖然同ndarray類似,都有類似的索引方式,但是直接索引的內(nèi)容卻不一樣,比如df['a']得到第一列,這里不同于arr[i],對于DataFrame對象,直接的df[i]索引,得到的是第i+1列,而不是第i+1行。當進行切片索引的時候,比如重新定義df,切片索引又同ndarray一樣,df[:2]得到前兩行,而不是前兩列;df[:][:1]得到第一列。故在切片索引的時候,又和ndarray一樣了。此外,DataFrame對象還有索引方法df.iloc[]和df.loc[],前者是對index和columns為整數(shù)時的所以,后者是對index和columns為其他標簽時的索引;對于df.iloc[],其索引方式和ndarray完全一樣,既可以以df.iloc[i][j]的方式索引,也可以以df.iloc[i,j]的方式索引,當然也可以直接的df.iloc[i]的方式索引。因此,對于DtaFrame對象,其只有直接的df[][]索引和ndarray不一樣,此時DataFrame先索引的是列,而不是行,也沒有df[i,j]的索引方法,但是對于切片索引以及df.iloc的索引方法,和ndarray完全一樣;此外,DataFrame還有df.loc的標簽索引方法。36、執(zhí)行importpandasaspd;obj=pd.Series(range(4),index=['a','b','c','d']);
obj[obj<1];輸出結(jié)果為A、a0B、b1C、b0D、c2答案:A37、一個含有具體數(shù)據(jù)和空值的DataFrame數(shù)據(jù)對象df,執(zhí)行df1=df.dropna(inplace=True)后:A、df1和df一樣,都是刪除了空值的結(jié)果B、df1為None,df為刪除了空值的結(jié)果C、df1為刪除了空值的結(jié)果,df不變D、df1為df操作前的值,df為刪除了空值的結(jié)果答案:B38、obj=pd.Series(['c','a','d','a','a','b','b','c','c']),運行
list(obj.unique())返回結(jié)果為答案:['c','a','d','b']39、importpandasaspd;data=pd.DataFrame({'k1':['one','two']*3+['two'],'k2':[1,1,2,3,3,4,4]});檢索data中數(shù)值'two'的方法為:A、data.k1[1]B、data.loc[1,'k1']C、data.iloc[1,0]D、以上方法都正確答案:D40、importpandasaspd;data=pd.DataFrame({'k1':['one','two']*3+['two'],'k2':[1,1,2,3,3,4,4]});執(zhí)行data.k2.sum()返回結(jié)果為:答案:1841、由于數(shù)據(jù)類型和維度不同,Pandas的DataFrame對象和Series之間不能進行算數(shù)運算答案:錯誤
42、對于一個含有空值的DataFrame對象df,執(zhí)行df.fillna(0,inplace=True)后,df中的空值填充為0,并且返回修改后的結(jié)果答案:錯誤43、不設(shè)置index和columns參數(shù),基于一個多維數(shù)組使用pandas的DataFrame函數(shù)創(chuàng)建對象df,使用loc和iloc方法對df中數(shù)據(jù)進行檢索的形式是相同的答案:正確44、一個DataFrame對象,調(diào)用其drop_duplicates()函數(shù)后,僅保留重復(fù)行中的最后一行答案:錯誤45、對一個DataFrame對象調(diào)用其mean()方法,缺省執(zhí)行的操作是axis等于答案:046、對于包含多個列的DataFrame,調(diào)用其無參數(shù)的describe()函數(shù)后,僅返回數(shù)據(jù)類型為數(shù)值的列的描述性統(tǒng)計信息答案:正確47、對于兩個columns完全相同的DataFrame,將其中一個的所有記錄追加到另一個對象,可使用函數(shù)答案:append();append;concat();concat48、兩個有相同和不同columns的DataFrame,如果要合并兩者的所有屬性和對應(yīng)記錄行,可使用如下方法A、join()B、merge()C、join()和merge()方法都可以D、沒法合并答案:C
解析:49、importpandasaspd,numpyasnp;
pd.DataFrame(np.arange(10,25).reshape(3,5)).ndim返回值為:答案:250、Dataframe之間的連接方法有哪些?答案:Pandas提供了大量的方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 砂漿抹面施工方案
- 柱亞克力燈箱施工方案
- 展廳裝飾裝修承包合同
- 管道除銹施工方案
- 4米高圍擋施工方案
- 手球館地坪施工方案
- 房屋粉刷安裝施工方案
- 堤壩護坡混凝土施工方案
- 反光漆施工方案
- 填筑施工方案
- 數(shù)字孿生水利項目建設(shè)可行性研究報告
- 大班繪本閱讀《小老鼠的探險日記》教案含反思
- 高級中學(xué)語文教師資格考試學(xué)科知識與教學(xué)能力2024年下半年測試試題及解答
- 江蘇省常州市溧陽市2023-2024學(xué)年八年級下學(xué)期期末道德與法治試題(含答案解析)
- 承包合同文件
- JT-T-1094-2016營運客車安全技術(shù)條件
- 擊鼓傳花懲罰游戲20題(課堂)
- 2024 smart社區(qū)運營全案服務(wù)項目
- QB/T 8020-2024 冷凍飲品 冰棍(正式版)
- 小學(xué)數(shù)學(xué)主題活動設(shè)計一年級《歡樂購物街》
- 2024年廣州市高三一模高考物理試卷試題答案(精校打印)
評論
0/150
提交評論