




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2025年計算機二級Python數(shù)據(jù)分析培訓(xùn)試卷:數(shù)據(jù)分析方法與實戰(zhàn)案例考試時間:______分鐘總分:______分姓名:______一、選擇題(每小題2分,共20分。請將正確選項字母填在括號內(nèi))1.在Python數(shù)據(jù)分析中,下列哪個庫主要負責(zé)執(zhí)行高性能的科學(xué)計算和數(shù)組操作?(A)Matplotlib(B)Seaborn(C)NumPy(D)Pandas2.下列哪個Pandas方法用于獲取DataFrame的前幾行數(shù)據(jù)?(A)`info()`(B)`describe()`(C)`head()`(D)`groupby()`3.當DataFrame中存在缺失值時,使用`dropna()`方法默認會刪除包含缺失值的整個行。(A)True(B)False4.在Pandas中,使用`melt()`方法可以將寬格式的數(shù)據(jù)轉(zhuǎn)換為長格式數(shù)據(jù)。(A)True(B)False5.下列哪個不是Matplotlib常用的圖表類型?(A)散點圖(B)箱線圖(C)相關(guān)性矩陣(D)餅圖6.若要計算一組數(shù)值的平均值、標準差、最小值、25%分位數(shù)、中位數(shù)、75%分位數(shù)和最大值,最適合使用Pandas的哪個方法?(A)`mean()`(B)`max()`(C)`describe()`(D)`corr()`7.當需要對DataFrame按照多個列進行排序時,`sort_values()`方法中通過設(shè)置哪個參數(shù)可以控制排序的優(yōu)先級?(A)`ascending`(B)`by`(C)`kind`(D)`axis`8.以下哪個是Seaborn庫基于Matplotlib構(gòu)建,用于繪制更高級、更美觀統(tǒng)計圖形的庫?(A)NumPy(B)Pandas(C)Matplotlib(D)Seaborn9.在進行數(shù)據(jù)合并操作時,`merge()`函數(shù)默認根據(jù)哪些列進行合并?(A)索引(B)所有列(C)`on`參數(shù)指定的列(D)`_merge`列10.使用`groupby()`方法對DataFrame進行分組后,通常會結(jié)合哪個方法進行聚合計算?(A)`apply()`(B)`merge()`(C)`sort_values()`(D)`fillna()`二、填空題(每空2分,共20分。請將答案填在橫線上)1.在Pandas中,用于刪除DataFrame中重復(fù)行的方法是________。2.若要選擇DataFrame中滿足特定條件的行,可以使用________運算符或________函數(shù)。3.Pandas的`read_csv()`函數(shù)用于從________文件中讀取數(shù)據(jù)。4.使用`corr()`方法計算DataFrame兩列之間的線性相關(guān)系數(shù),結(jié)果范圍通常在________和________之間。5.Matplotlib中,用于設(shè)置圖表標題的函數(shù)是________。6.若要將Pandas的DataFrame對象存儲為CSV文件,可以使用________方法。7.在進行數(shù)據(jù)標準化(Z-score標準化)時,通常需要減去均值再除以________。8.Seaborn的`pairplot()`函數(shù)可以繪制數(shù)據(jù)集中所有數(shù)值列的兩兩________圖。9.使用`pivot_table()`方法可以創(chuàng)建一個透視表,其中`aggfunc='sum'`參數(shù)表示對分組后的數(shù)據(jù)使用________聚合函數(shù)。10.NumPy中,`array.reshape()`方法用于改變數(shù)組的________。三、代碼編寫題(每題10分,共30分。請根據(jù)要求編寫Python代碼)1.假設(shè)已有一個名為`df`的PandasDataFrame,其中包含列'Name','Age','City'和'Score'。請編寫代碼:a.選擇所有來自'City'列值為'Beijing'的行。b.計算所有行的'Score'列的平均值,并將結(jié)果存儲在變量`avg_score`中。c.將'Age'列中所有缺失值(`NaN`)替換為該列的median值。2.假設(shè)有一個PandasDataFrame`sales`,包含'Date','Product','Category','SalesAmount'列。請編寫代碼:a.使用`groupby()`和`sum()`計算每個'Category'的總銷售額,并將結(jié)果按總銷售額降序排列。b.創(chuàng)建一個新的列'SalesStatus',如果'SalesAmount'大于1000,則值為'High',否則為'Low'。3.假設(shè)有一個包含學(xué)生姓名('Name')和兩門課程成績('Math','English')的PandasDataFrame`grades`。請編寫代碼生成一個新的DataFrame`summary`,其中包含三列:a.'Name':學(xué)生姓名。b.'Average':學(xué)生的平均分。c.'Pass':布爾值,如果學(xué)生的平均分大于等于60,則為True,否則為False。四、綜合題(25分)假設(shè)你獲得了一份關(guān)于某電商平臺用戶行為的銷售數(shù)據(jù)集(數(shù)據(jù)結(jié)構(gòu)如下),數(shù)據(jù)存儲在名為`sales_data.csv`的文件中。請編寫Python代碼完成以下數(shù)據(jù)分析任務(wù):*任務(wù)1(5分):使用Pandas讀取`sales_data.csv`文件到DataFrame`data`中。假設(shè)文件中沒有索引列。*任務(wù)2(5分):查看數(shù)據(jù)的前5行信息,并獲取數(shù)據(jù)的描述性統(tǒng)計信息(使用`describe()`)。*任務(wù)3(5分):篩選出所有'OrderStatus'為'Completed'且'PaymentMethod'為'CreditCard'的訂單,計算這些訂單的總金額(假設(shè)金額列名為'Amount')。*任務(wù)4(5分):對`data`DataFrame按照'Year'和'Month'列進行分組,計算每個組中'Amount'的總和,并將結(jié)果按'Year'升序、'Month'升序排列。最后,將結(jié)果存儲到新的DataFrame`monthly_sales`中,并輸出其內(nèi)容。**提示:可能需要先處理或創(chuàng)建'Year'和'Month'列。***假設(shè)數(shù)據(jù)集中存在'Date'列,格式為'YYYY-MM-DD'。*試卷答案一、選擇題1.C解析:NumPy是Python科學(xué)計算的基礎(chǔ)包,提供高性能的多維數(shù)組對象和工具,是進行數(shù)據(jù)分析和數(shù)值計算的核心。2.C解析:`head()`函數(shù)是Pandas中常用的方法,用于返回DataFrame或Series的前n行,默認為5行。3.A解析:`dropna()`方法的`how='any'`參數(shù)(默認值)表示只要行中有任何一個缺失值就刪除該行;`how='all'`表示只有當行中所有值都缺失時才刪除。默認行為刪除包含任何缺失值的行。4.A解析:`melt()`函數(shù)的作用是將DataFrame從寬格式轉(zhuǎn)換為長格式,將指定的一個或多個列(idy_vars)轉(zhuǎn)換為行的變量,其余列轉(zhuǎn)換為值變量。5.C解析:相關(guān)性矩陣是描述變量之間相關(guān)性的數(shù)值矩陣,不是Matplotlib或Seaborn直接繪制的圖表類型。Matplotlib和Seaborn可以繪制展示相關(guān)性的熱力圖。6.C解析:`describe()`方法是PandasDataFrame的常用方法,它會一次性輸出數(shù)值列的計數(shù)、均值、標準差、最小值、25%分位數(shù)、中位數(shù)、75%分位數(shù)和最大值等統(tǒng)計描述。7.B解析:在`sort_values()`函數(shù)中,`by`參數(shù)用于指定一個或多個列名,這些列將作為排序的依據(jù),參數(shù)值的順序決定了排序的優(yōu)先級。8.D解析:Seaborn是基于Matplotlib的一個高級可視化庫,專注于統(tǒng)計圖形的繪制,提供了更簡潔、更美觀的接口來創(chuàng)建復(fù)雜的圖表。9.A解析:Pandas的`merge()`函數(shù)默認根據(jù)兩個DataFrame的索引進行合并(內(nèi)連接),也可以通過`on`參數(shù)指定根據(jù)哪些列進行合并。10.A解析:`groupby()`方法本身用于分組,通常需要結(jié)合`sum()`,`mean()`,`count()`等聚合函數(shù)或`apply()`函數(shù)來對分組后的數(shù)據(jù)進行計算或應(yīng)用自定義函數(shù)。二、填空題1.`drop_duplicates()`解析:`drop_duplicates()`方法用于刪除DataFrame中的重復(fù)行。2.`[]`/`loc`/`iloc`解析:可以使用方括號`[]`配合條件表達式、`loc`基于標簽選擇或`iloc`基于位置選擇來篩選滿足條件的行。3.CSV(或CommaSeparatedValues)解析:`read_csv()`是Pandas中用于從逗號分隔值的文本文件(通常是.csv格式)中讀取數(shù)據(jù)并創(chuàng)建DataFrame的常用函數(shù)。4.-1/1解析:`corr()`方法計算的是皮爾遜相關(guān)系數(shù),其值介于-1和1之間,-1表示完全負相關(guān),1表示完全正相關(guān),0表示不相關(guān)。5.`title()`解析:`title()`是MatplotlibAxes對象的一個方法,用于設(shè)置圖表的標題文本。6.`to_csv()`解析:`to_csv()`方法是PandasDataFrame的一個方法,用于將DataFrame保存為CSV格式的文件。7.標準差(或StandardDeviation)解析:數(shù)據(jù)標準化(Z-score標準化)的公式是(X-mean)/std,其中mean是均值,std是標準差。8.散點圖(或Scatterplot)解析:Seaborn的`pairplot()`函數(shù)默認會為數(shù)據(jù)集中每對數(shù)值列繪制一個散點圖,并在對角線上繪制該列的分布圖。9.sum(或`sum`)解析:`pivot_table()`函數(shù)的`aggfunc`參數(shù)用于指定對分組后的數(shù)據(jù)應(yīng)用何種聚合函數(shù),`sum`是最常用的聚合函數(shù)之一,表示求和。10.形狀(或Shape)解析:`reshape()`方法用于改變NumPy數(shù)組的形狀,即重新排列數(shù)組的行和列,返回一個新的形狀不同的數(shù)組。三、代碼編寫題1.```python#a.選擇來自'Beijing'的行beijing_rows=df[df['City']=='Beijing']#b.計算'Score'列的平均值avg_score=df['Score'].mean()#c.將'Age'列的NaN替換為該列的median值median_age=df['Age'].median()df['Age'].fillna(median_age,inplace=True)```解析:a)使用布爾索引`df['City']=='Beijing'`創(chuàng)建一個布爾序列,然后使用這個序列選擇對應(yīng)的行。b)使用`mean()`方法計算'Score'列的平均值。c)首先計算'Age'列的`median()`(中位數(shù)),然后使用`fillna()`方法將所有NaN值替換為計算出的中位數(shù),`inplace=True`表示在原地修改DataFrame。2.```python#a.按'Category'分組并計算總銷售額,降序排列category_sales_total=sales.groupby('Category')['SalesAmount'].sum().sort_values(ascending=False)#b.創(chuàng)建'SalesStatus'列sales['SalesStatus']=sales['SalesAmount'].apply(lambdax:'High'ifx>1000else'Low')```解析:a)使用`groupby('Category')`按'Category'列進行分組,然后對'SalesAmount'列應(yīng)用`sum()`計算每個類別的總銷售額,最后使用`sort_values(ascending=False)`按總銷售額降序排列。b)使用`apply()`方法遍歷'SalesAmount'列的每個值,根據(jù)條件判斷返回'High'或'Low',并創(chuàng)建新的列'SalesStatus'。3.```pythonimportpandasaspd#假設(shè)原始數(shù)據(jù)如grades=pd.DataFrame({'Name':['Alice','Bob'],'Math':[85,75],'English':[90,80]})#計算平均分grades['Average']=grades[['Math','English']].mean(axis=1)#創(chuàng)建'Pass'列g(shù)rades['Pass']=grades['Average']>=60#或者grades['Pass']=grades['Average'].apply(lambdax:x>=60)```解析:計算平均分需要選擇包含成績的列('Math','English'),使用`mean(axis=1)`計算每行的平均值,并將結(jié)果存儲在新列'Average'中。創(chuàng)建'Pass'列可以通過比較'Average'與60,或者使用`apply()`函數(shù)實現(xiàn)。結(jié)果將是一個布爾值,表示學(xué)生是否通過(平均分>=60)。四、綜合題```pythonimportpandasaspd#任務(wù)1:讀取CSV文件data=pd.read_csv('sales_data.csv')#任務(wù)2:查看前5行和描述性統(tǒng)計信息print(data.head())print(data.describe())#任務(wù)3:篩選特定訂單并計算總金額filtered_data=data[(data['OrderStatus']=='Completed')&(data['PaymentMethod']=='CreditCard')]total_amount=filtered_data['Amount'].sum()print(f"TotalAmountforCompletedCreditCardOrders:{total_amount}")#任務(wù)4:按'Year'和'Month'分組,計算'Amount'總和,并排序存儲#假設(shè)'Date'列存在且為字符串格式'YYYY-MM-DD'data['Year']=pd.to_datetime(data['Date']).dt.yeardata['Month']=pd.to_datetime(data['Date']).dt.monthmonth
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公墓土建工程施工方案
- 動物園模擬考試試題及答案
- 飼料廠粉碎車間安全培訓(xùn)考試題
- 2025年蘇州語文單元試卷及答案
- 2025北舞教資考試真題及答案
- 長沙歷史會考真題及答案
- 市政建筑新材料與新技術(shù)應(yīng)用分析
- 工程咨詢模式在歷史街區(qū)保護中的應(yīng)用研究
- 鋼鐵行業(yè)實現(xiàn)碳中和的路徑與挑戰(zhàn)分析
- 新疆幼師筆試試題及答案
- GB/T 20633.2-2011承載印制電路板用涂料(敷形涂料)第2部分:試驗方法
- GB/T 15382-2021氣瓶閥通用技術(shù)要求
- 零星工程維修合同
- DB37-T 4328-2021 建筑消防設(shè)施維護保養(yǎng)技術(shù)規(guī)程
- 防盜門安裝施工方案50173
- 傳染病布氏菌病 課件
- 航空器緊固件安裝及保險課件
- 初始過程能力研究報告-PPK
- 普通話班會課市公開課金獎市賽課一等獎?wù)n件
- 攝影器材公司銷售和顧客服務(wù)質(zhì)量管理方案
- 鋼筋的計算截面面積表
評論
0/150
提交評論