2025年P(guān)ython數(shù)據(jù)分析全國(guó)計(jì)算機(jī)二級(jí)考試沖刺試卷(含答案)_第1頁
2025年P(guān)ython數(shù)據(jù)分析全國(guó)計(jì)算機(jī)二級(jí)考試沖刺試卷(含答案)_第2頁
2025年P(guān)ython數(shù)據(jù)分析全國(guó)計(jì)算機(jī)二級(jí)考試沖刺試卷(含答案)_第3頁
2025年P(guān)ython數(shù)據(jù)分析全國(guó)計(jì)算機(jī)二級(jí)考試沖刺試卷(含答案)_第4頁
2025年P(guān)ython數(shù)據(jù)分析全國(guó)計(jì)算機(jī)二級(jí)考試沖刺試卷(含答案)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2025年P(guān)ython數(shù)據(jù)分析全國(guó)計(jì)算機(jī)二級(jí)考試沖刺試卷(含答案)考試時(shí)間:______分鐘總分:______分姓名:______一、選擇題(每小題2分,共20分)1.下列關(guān)于Python變量的說法中,正確的是:A.變量必須在使用前聲明其類型B.變量名不能包含數(shù)字C.一次只能給一個(gè)變量賦值D.變量名區(qū)分大小寫2.在Python中,用于處理數(shù)據(jù)的強(qiáng)大工具庫是:A.MatplotlibB.NumPyC.PandasD.Tkinter3.下列哪個(gè)函數(shù)可以用來獲取PandasSeries對(duì)象中的數(shù)據(jù)類型?A.`size()`B.`dtype`C.`values()`D.`shape`4.讀取CSV文件到PandasDataFrame對(duì)象時(shí),如果文件包含標(biāo)題行,應(yīng)使用哪個(gè)參數(shù)?A.`header=None`B.`index_col=0`C.`usecols=['col1','col2']`D.`sep='\t'`5.在Pandas中,如何選擇DataFrame中滿足條件的行?A.`df.loc[condition]`B.`df.query('condition')`C.`df.filter(condition)`D.以上都可以6.下列哪個(gè)是Pandas中用于對(duì)數(shù)據(jù)進(jìn)行分組的函數(shù)?A.`sort_values()`B.`groupby()`C.`merge()`D.`apply()`7.下列哪個(gè)函數(shù)在Pandas中用于計(jì)算數(shù)據(jù)集的均值?A.`sum()`B.`mean()`C.`median()`D.`std()`8.在Pandas中,合并兩個(gè)DataFrames,要求它們基于共同的列進(jìn)行連接,應(yīng)使用哪個(gè)函數(shù)?A.`join()`B.`merge()`C.`concat()`D.`append()`9.下列哪個(gè)Matplotlib函數(shù)常用于繪制散點(diǎn)圖?A.`plot()`B.`bar()`C.`scatter()`D.`hist()`10.在Scikit-learn中,用于劃分?jǐn)?shù)據(jù)集為訓(xùn)練集和測(cè)試集的常用模塊是:A.`sklearn.metrics`B.`sklearn.model_selection`C.`sklearn.preprocessing`D.`sklearn.linear_model`二、填空題(每空2分,共20分)1.在Pandas中,用于訪問DataFrame列的兩種主要方式是_________和_________。2.使用`pd.read_csv('data.csv')`讀取數(shù)據(jù)時(shí),若需要將第一列設(shè)置為索引列,應(yīng)使用參數(shù)_________。3.當(dāng)DataFrame中存在缺失值時(shí),使用`dropna()`函數(shù)默認(rèn)會(huì)刪除包含缺失值的_________。4.在Pandas中,對(duì)Series對(duì)象進(jìn)行排序可以使用_________函數(shù),并可以通過參數(shù)`ascending=False`實(shí)現(xiàn)降序排列。5.代碼`importnumpyasnp`之后,可以通過_________來訪問NumPy中的`array`構(gòu)造函數(shù)。6.要繪制一個(gè)簡(jiǎn)單的線性圖,在Matplotlib中使用函數(shù)_________,并傳入x軸和y軸的數(shù)據(jù)。7.在進(jìn)行線性回歸時(shí),Scikit-learn中的`LinearRegression()`用于創(chuàng)建_________模型實(shí)例。8.若要?jiǎng)?chuàng)建一個(gè)包含0到99(不包括100)的等差數(shù)列的NumPy數(shù)組,可以使用`np.arange(0,100,_________)`。9.使用`df.groupby('col_name').sum()`對(duì)PandasDataFrame按列`col_name`進(jìn)行分組并計(jì)算每組的總和,這里用到了`groupby()`對(duì)象的_________方法。10.評(píng)估分類模型性能的常用指標(biāo)包括準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和_________。三、操作題(共3題,共60分)1.(15分)數(shù)據(jù)讀取與基礎(chǔ)處理假設(shè)有一個(gè)名為`sales.csv`的CSV文件,其內(nèi)容結(jié)構(gòu)如下(無標(biāo)題行):```product,quantity,priceA,100,50.0B,150,30.0C,200,25.0A,80,50.0B,120,30.0```請(qǐng)編寫Python代碼完成以下任務(wù):a)導(dǎo)入Pandas庫,并使用`pd.read_csv()`讀取`sales.csv`文件到一個(gè)名為`df_sales`的DataFrame對(duì)象。假設(shè)文件與代碼位于同一目錄下,分隔符為逗號(hào)。b)顯示`df_sales`的前5行數(shù)據(jù)。c)查看并修改`df_sales`中`quantity`列的數(shù)據(jù)類型為整數(shù)(`int64`)。d)計(jì)算`df_sales`中所有產(chǎn)品的總銷售額(`quantity*price`),并將結(jié)果存儲(chǔ)在一個(gè)新的列`total_sales`中。2.(20分)數(shù)據(jù)探索與可視化繼續(xù)使用上一題的`df_sales`DataFrame。請(qǐng)編寫代碼完成以下任務(wù):a)使用Pandas的內(nèi)置函數(shù)計(jì)算`df_sales`中`quantity`列的平均值、中位數(shù)和標(biāo)準(zhǔn)差,并將結(jié)果打印輸出。b)根據(jù)`product`列對(duì)`df_sales`進(jìn)行分組,并計(jì)算每個(gè)產(chǎn)品的總銷售額(即`total_sales`列的總和)。將結(jié)果存儲(chǔ)在一個(gè)新的DataFrame對(duì)象`df_summary`中,并按`total_sales`列的值降序排列。顯示`df_summary`的所有數(shù)據(jù)。c)使用Matplotlib庫繪制一個(gè)柱狀圖,橫軸為產(chǎn)品名稱`product`,縱軸為對(duì)應(yīng)產(chǎn)品的總銷售額`total_sales`。圖表應(yīng)包含標(biāo)題"各產(chǎn)品總銷售額"和橫縱坐標(biāo)軸標(biāo)簽。3.(25分)數(shù)據(jù)清洗與簡(jiǎn)單分析假設(shè)有一個(gè)名為`weather.csv`的CSV文件,其內(nèi)容結(jié)構(gòu)如下(包含標(biāo)題行):```date,temperature,humidity2023-10-01,22,652023-10-02,21,702023-10-03,23,602023-10-04,25,NA2023-10-05,NA,58```其中,`temperature`列的"NA"表示該日溫度數(shù)據(jù)缺失。請(qǐng)編寫Python代碼完成以下任務(wù):a)導(dǎo)入Pandas庫,并使用`pd.read_csv()`讀取`weather.csv`文件到一個(gè)名為`df_weather`的DataFrame對(duì)象。假設(shè)文件與代碼位于同一目錄下。b)檢查`df_weather`中是否存在缺失值,并使用`fillna()`函數(shù)將所有缺失值填充為對(duì)應(yīng)列的平均值。c)使用`groupby()`和聚合函數(shù),計(jì)算2023年10月份每周的平均氣溫(`temperature`列)和平均濕度(`humidity`列)。假設(shè)`date`列是標(biāo)準(zhǔn)的日期格式,需要先將其轉(zhuǎn)換為Pandas的`datetime`類型。結(jié)果應(yīng)按周分組(例如,使用`pd.Grouper(freq='W')`或類似方法)。d)找出`df_weather`中`temperature`列的最大值和最小值,并打印出對(duì)應(yīng)的日期和數(shù)值。試卷答案一、選擇題1.D解析:Python是動(dòng)態(tài)類型語言,變量賦值時(shí)自動(dòng)確定類型;變量名可以包含數(shù)字但不能以數(shù)字開頭;一次可以給多個(gè)變量賦值(同時(shí)賦值);變量名區(qū)分大小寫。2.C解析:Pandas是專門為數(shù)據(jù)分析設(shè)計(jì)的強(qiáng)大庫,提供DataFrame等數(shù)據(jù)結(jié)構(gòu)。Matplotlib是繪圖庫,NumPy是數(shù)值計(jì)算庫,Tkinter是GUI庫。3.B解析:`size()`返回元素總數(shù),`dtype`返回?cái)?shù)據(jù)類型,`values()`返回值的NumPy數(shù)組,`shape`返回形狀元組。4.A解析:`header=None`表示數(shù)據(jù)中沒有標(biāo)題行。`index_col=0`表示第一列作為索引。`usecols`指定讀取的列。`sep='\t'`指定分隔符。5.D解析:`df.loc[condition]`和`df.query('condition')`都可以用于選擇滿足條件的行。`df.filter(condition)`通常用于篩選列。根據(jù)題目描述,都符合。6.B解析:`sort_values()`用于排序。`groupby()`用于分組。`merge()`用于合并。`apply()`用于對(duì)DataFrame或Series應(yīng)用函數(shù)。7.B解析:`sum()`返回總和。`mean()`返回均值。`median()`返回中位數(shù)。`std()`返回標(biāo)準(zhǔn)差。8.B解析:`merge()`用于基于鍵將DataFrame對(duì)象連接起來。`join()`通?;谒饕?。`concat()`用于按軸連接。`append()`用于追加行。9.C解析:`plot()`默認(rèn)繪制線圖。`bar()`繪制柱狀圖。`scatter()`繪制散點(diǎn)圖。`hist()`繪制直方圖。10.B解析:`sklearn.metrics`存放評(píng)估指標(biāo)。`sklearn.model_selection`存放數(shù)據(jù)劃分、交叉驗(yàn)證等工具。`sklearn.preprocessing`存放數(shù)據(jù)預(yù)處理工具。`sklearn.linear_model`存放線性模型。二、填空題1.列索引,點(diǎn)索引解析:訪問DataFrame列可以通過列名(列索引,如`df['col']`)或行標(biāo)簽/整數(shù)索引(點(diǎn)索引,如`df.loc[index,'col']`或`df.iloc[i,'col']`)。2.index_col解析:`pd.read_csv(...,index_col=0)`指定將第一列用作DataFrame的索引列。3.行解析:`dropna()`函數(shù)默認(rèn)刪除包含缺失值的行(`axis=0`)。4.sort_values解析:`sort_values()`函數(shù)用于對(duì)Pandas對(duì)象進(jìn)行排序,參數(shù)`ascending=False`控制排序方向。5.np.array解析:導(dǎo)入NumPy庫后,通過`np.array()`調(diào)用NumPy的`array`構(gòu)造函數(shù)創(chuàng)建數(shù)組。6.plot解析:`plt.plot(x,y)`是Matplotlib繪制線性圖(或其他類型圖)的基本函數(shù),需要傳入x軸和y軸的數(shù)據(jù)。7.線性回歸解析:`LinearRegression()`是Scikit-learn中用于創(chuàng)建線性回歸模型(`classsklearn.linear_model.LinearRegression`)的構(gòu)造函數(shù)。8.1解析:`np.arange(start,stop,step)`生成從`start`到`stop`(不包括)的等差數(shù)列,`step`是步長(zhǎng)。0到99,步長(zhǎng)為1。9.aggregate或agg解析:`groupby().sum()`中`sum()`是聚合函數(shù),`groupby()`對(duì)象有`aggregate()`或`agg()`方法可以傳入多個(gè)聚合函數(shù)。10.F1分?jǐn)?shù)或F1-score解析:評(píng)估分類模型性能的常用指標(biāo)包括準(zhǔn)確率、精確率、召回率和F1分?jǐn)?shù)(是精確率和召回率的調(diào)和平均數(shù))。三、操作題1.代碼示例(假設(shè)pandas已導(dǎo)入為pd):```pythonimportpandasaspd#a)讀取CSVdf_sales=pd.read_csv('sales.csv',sep=',')#假設(shè)分隔符為逗號(hào)#b)顯示前5行print(df_sales.head())#c)修改quantity類型df_sales['quantity']=df_sales['quantity'].astype(int)#d)計(jì)算總銷售額df_sales['total_sales']=df_sales['quantity']*df_sales['price']```解析思路:a)使用`pd.read_csv`讀取文件,注意指定正確的文件路徑和分隔符。b)調(diào)用`head()`方法顯示DataFrame的前幾行。c)選中`quantity`列,使用`astype(int)`將其數(shù)據(jù)類型轉(zhuǎn)換為整數(shù)。d)創(chuàng)建新列`total_sales`,通過`quantity*price`計(jì)算每行的銷售額,并將結(jié)果賦值給該列。2.代碼示例:```pythonimportpandasaspdimportmatplotlib.pyplotasplt#假設(shè)df_sales已從上一題獲取#a)計(jì)算統(tǒng)計(jì)量mean_qty=df_sales['quantity'].mean()median_qty=df_sales['quantity'].median()std_qty=df_sales['quantity'].std()print(f"平均數(shù)量:{mean_qty},中位數(shù)數(shù)量:{median_qty},標(biāo)準(zhǔn)差數(shù)量:{std_qty}")#b)分組匯總并排序df_summary=df_sales.groupby('product')['total_sales'].sum().reset_index()df_summary=df_summary.sort_values('total_sales',ascending=False)print(df_summary)#c)繪制柱狀圖plt.figure(figsize=(8,5))plt.bar(df_summary['product'],df_summary['total_sales'])plt.title('各產(chǎn)品總銷售額')plt.xlabel('產(chǎn)品名稱')plt.ylabel('總銷售額')plt.show()```解析思路:a)使用Pandas列的`mean()`,`median()`,`std()`方法分別計(jì)算`quantity`列的均值、中位數(shù)和標(biāo)準(zhǔn)差,并打印。b)使用`groupby('product')`按`product`列分組,`['total_sales'].sum()`對(duì)每個(gè)組的`total_sales`列求和。使用`reset_index()`將結(jié)果轉(zhuǎn)換為DataFrame。使用`sort_values('total_sales',ascending=False)`按總銷售額降序排列。c)使用`plt.bar(x,y)`繪制柱狀圖,其中`x`為產(chǎn)品名稱列表,`y`為對(duì)應(yīng)的總銷售額列表。設(shè)置圖表標(biāo)題、橫縱坐標(biāo)軸標(biāo)簽,并使用`plt.show()`顯示圖表。3.代碼示例:```pythonimportpandasaspd#假設(shè)df_weather已從文件讀取#a)讀取CSVdf_weather=pd.read_csv('weather.csv')#假設(shè)文件在當(dāng)前目錄#b)檢查缺失值并填充print("填充前缺失值情況:")print(df_weather.isna().sum())df_weather.fillna(df_weather.mean(),inplace=True)print("填充后缺失值情況:")print(df_weather.isna().sum())#c)轉(zhuǎn)換日期并按周分組計(jì)算平均值df_weather['date']=pd.to_datetime(df_weather['date'])weekly_avg=df_weather.groupby(pd.Grouper(key='date',freq='W'))['temperature','humidity'].mean()print(weekly_avg)#d)找出最大最小溫度及日期max_temp_row=df_weather[df_weather['temp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論