版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2025年P(guān)ython數(shù)據(jù)分析與可視化專項(xiàng)訓(xùn)練試卷考試時(shí)間:______分鐘總分:______分姓名:______一、選擇題(每題2分,共20分)1.下列哪個(gè)庫是Python數(shù)據(jù)分析和科學(xué)計(jì)算的基礎(chǔ)庫?A.MatplotlibB.SeabornC.NumPyD.Flask2.在Pandas中,用于處理缺失數(shù)據(jù)的函數(shù)`isnull()`或`isna()`返回的是?A.缺失值本身B.布爾值數(shù)組,指示哪些位置是缺失值C.含有缺失值的列或行D.刪除了缺失值后的數(shù)據(jù)框3.讀取CSV文件到PandasDataFrame時(shí),若要指定某列為索引列,應(yīng)使用哪個(gè)參數(shù)?A.`header`B.`index_col`C.`usecols`D.`dtype`4.對(duì)于時(shí)間序列數(shù)據(jù),Pandas中的`datetime`類型相較于`object`類型的主要優(yōu)勢(shì)是?A.存儲(chǔ)空間更小B.更方便進(jìn)行時(shí)間相關(guān)的計(jì)算和篩選C.默認(rèn)按數(shù)值大小排序D.讀取速度更快5.在Pandas中,對(duì)DataFrame進(jìn)行分組統(tǒng)計(jì)后,要計(jì)算每個(gè)組的平均值,應(yīng)使用哪個(gè)方法?A.`groupby()`B.`aggregate()`C.`apply()`D.`mean()`6.以下哪個(gè)函數(shù)可用于合并兩個(gè)PandasSeries或DataFrame,類似于SQL中的`JOIN`操作?A.`merge()`B.`concat()`C.`append()`D.`combine_first()`7.在Matplotlib中,要修改已繪制圖形的標(biāo)題,應(yīng)使用哪個(gè)方法?A.`set_title()`B.`add_title()`C.`plot.title()`D.`figure.title()`8.Seaborn的`stripplot()`與`swarmplot()`都用于繪制散點(diǎn)圖,主要區(qū)別在于?A.`stripplot()`用于分類數(shù)據(jù),`swarmplot()`用于數(shù)值數(shù)據(jù)B.`stripplot()`會(huì)重疊點(diǎn),`swarmplot()`會(huì)調(diào)整點(diǎn)以避免重疊C.`stripplot()`只能單變量,`swarmplot()`可雙變量D.`stripplot()`繪制的是箱線圖,`swarmplot()`繪制的是小提琴圖9.若要?jiǎng)?chuàng)建一個(gè)在0到1之間等間隔的數(shù)值序列,包含0不包含1,應(yīng)使用NumPy的哪個(gè)函數(shù)?A.`linspace()`B.`arange()`C.`logspace()`D.`random.rand()`10.在進(jìn)行數(shù)據(jù)可視化時(shí),選擇使用折線圖、柱狀圖還是散點(diǎn)圖,主要取決于?A.圖表的顏色美觀程度B.繪圖庫的流行度C.數(shù)據(jù)的類型和分析目的D.圖表生成代碼的復(fù)雜度二、填空題(每空2分,共20分)1.在Pandas中,使用`loc[]`或`iloc[]`進(jìn)行索引時(shí),通過指定______來選擇特定的行或列。2.處理大數(shù)據(jù)集時(shí),若內(nèi)存不足,可以考慮使用Pandas的`read_csv()`函數(shù)的______參數(shù)分塊讀取數(shù)據(jù)。3.使用`groupby()`對(duì)DataFrame按某列分組后,通常需要結(jié)合______函數(shù)來執(zhí)行聚合操作。4.Matplotlib中最頂層的對(duì)象是______,它是所有圖形元素的容器。5.Seaborn是基于______庫構(gòu)建的高級(jí)可視化庫,提供了更簡潔的接口。6.若要檢查PandasSeries或DataFrame中是否存在缺失值,可以使用______函數(shù),并通常與布爾索引結(jié)合使用。7.在進(jìn)行數(shù)據(jù)透視時(shí),Pandas的`pivot_table()`函數(shù)允許指定______列作為行標(biāo)簽、列標(biāo)簽和值。8.使用Matplotlib繪制散點(diǎn)圖時(shí),`scatter()`函數(shù)的______參數(shù)用于設(shè)置散點(diǎn)的顏色,______參數(shù)用于設(shè)置散點(diǎn)的大小。9.NumPy數(shù)組是具有______數(shù)組,其元素通常具有相同的數(shù)據(jù)類型。10.數(shù)據(jù)分析流程中,______是指通過統(tǒng)計(jì)方法和可視化技術(shù),對(duì)數(shù)據(jù)進(jìn)行探索性分析,以發(fā)現(xiàn)數(shù)據(jù)的基本特征和潛在模式。三、簡答題(每題5分,共15分)1.簡述在Pandas中處理缺失值(NaN)的幾種常用方法。2.簡要說明Pandas的`merge()`函數(shù)與`join()`函數(shù)的主要區(qū)別。3.解釋Matplotlib中的`figure()`和`axes()`對(duì)象分別代表什么,它們之間的關(guān)系是怎樣的?四、編程題(共45分)1.(15分)假設(shè)有一個(gè)名為`sales.csv`的CSV文件,包含以下列:`'Date'`,`'Product'`,`'Category'`,`'Sales'`,`'Quantity'`。其中`'Date'`列是文本格式。請(qǐng)編寫Python代碼完成以下任務(wù):a.讀取該CSV文件到PandasDataFrame`df`。b.將`'Date'`列轉(zhuǎn)換為Pandas的`datetime`類型。c.將`'Sales'`列轉(zhuǎn)換為浮點(diǎn)數(shù)類型(假設(shè)原始數(shù)據(jù)可能是文本格式,如"123.45")。d.查找`'Sales'`列中缺失值,并將這些缺失值替換為該列的平均值。e.按照年份對(duì)`'Sales'`總額進(jìn)行分組,計(jì)算每年的總銷售額,并按銷售額從高到低排序。2.(15分)使用第1題處理后的DataFrame`df`(假設(shè)已包含`'Sales'`和`'Category'`列)。請(qǐng)使用Matplotlib和Seaborn庫完成以下可視化任務(wù):a.繪制一個(gè)柱狀圖,展示不同`'Category'`的總銷售額。柱狀圖顏色設(shè)置為藍(lán)色,并為每個(gè)柱子添加數(shù)值標(biāo)簽(顯示總銷售額)。b.繪制一個(gè)折線圖,展示`'Sales'`隨時(shí)間(`'Date'`列)的變化趨勢(shì)。設(shè)置適當(dāng)?shù)娜掌诟袷交?,使X軸顯示年份和月份(如'2023-01','2023-02')。3.(15分)假設(shè)你有一個(gè)包含學(xué)生姓名(`'Name'`)、科目(`'Subject'`)和成績(`'Score'`)的DataFrame`student_scores`。請(qǐng)編寫代碼完成以下任務(wù):a.計(jì)算每個(gè)學(xué)生的平均分,并將結(jié)果添加為新列`'Average_Score'`。b.使用Pandas的內(nèi)置函數(shù),找出成績最高的3名學(xué)生,并顯示他們的所有信息。c.創(chuàng)建一個(gè)箱線圖,比較不同`'Subject'`的`'Score'`分布情況。要求圖例顯示在圖形外側(cè)。---試卷答案一、選擇題1.C2.B3.B4.B5.D6.A7.A8.B9.B10.C二、填空題1.索引(或標(biāo)簽)2.chunksize3.`agg()`或`apply()`4.Figure5.Matplotlib6.`isnull()`或`isna()`7.values8.c,s9.一維10.探索性分析(EDA)三、簡答題1.解析思路:處理缺失值的核心是識(shí)別、填充或刪除。識(shí)別使用`isnull()`/`isna()`配合布爾索引;填充可以使用`fillna()`,填充值可以是常數(shù)、前一個(gè)/后一個(gè)值、插值或基于規(guī)則的值;刪除使用`dropna()`,可以刪除包含缺失值的行或列。2.解析思路:`merge()`的核心是基于連接鍵(`on`參數(shù)或左右DataFrame的`on`列)進(jìn)行合并,支持多種合并方式(內(nèi)連接`inner`、外連接`outer`等);`join()`通常用于根據(jù)索引進(jìn)行合并,可以看作是`merge()`的一種簡化形式,常用于將兩個(gè)DataFrame按其索引對(duì)齊合并。`merge()`更通用。3.解析思路:`figure()`對(duì)象是Matplotlib圖形的頂級(jí)容器,代表整個(gè)窗口或頁面。`axes()`對(duì)象代表圖中實(shí)際的可繪制區(qū)域,即坐標(biāo)軸,可以在一個(gè)`figure`中創(chuàng)建多個(gè)`axes`。繪圖操作(如`plot`,`scatter`,`bar`)通常在`axes`對(duì)象上進(jìn)行。`figure`是`axes`的容器,創(chuàng)建圖形時(shí)通常先生成`figure`,再向其添加`axes`。四、編程題1.```pythonimportpandasaspdimportnumpyasnp#a.讀取CSV文件df=pd.read_csv('sales.csv')#b.將'Date'列轉(zhuǎn)換為datetime類型df['Date']=pd.to_datetime(df['Date'])#c.將'Sales'列轉(zhuǎn)換為浮點(diǎn)數(shù)類型df['Sales']=pd.to_numeric(df['Sales'],errors='coerce')#errors='coerce'將無法轉(zhuǎn)換的轉(zhuǎn)為NaN#d.查找'Sales'列缺失值,替換為平均值sales_mean=df['Sales'].mean()df['Sales'].fillna(sales_mean,inplace=True)#e.按年份分組,計(jì)算每年總銷售額并排序df['Year']=df['Date'].dt.yearannual_sales=df.groupby('Year')['Sales'].sum().sort_values(ascending=False)```2.```pythonimportmatplotlib.pyplotaspltimportseabornassns#假設(shè)df是第1題處理后的DataFrame,且包含'Category'和'Sales'列#a.繪制不同'Category'的總銷售額柱狀圖category_sales=df.groupby('Category')['Sales'].sum().sort_values()plt.figure(figsize=(10,6))#設(shè)置圖形大小bars=plt.bar(category_sales.index,category_sales.values,color='blue')plt.xlabel('Category')plt.ylabel('TotalSales')plt.title('TotalSalesbyCategory')#添加數(shù)值標(biāo)簽forbarinbars:yval=bar.get_height()plt.text(bar.get_x()+bar.get_width()/2,yval,round(yval,2),ha='center',va='bottom')plt.xticks(rotation=45)#旋轉(zhuǎn)X軸標(biāo)簽plt.tight_layout()#自動(dòng)調(diào)整布局plt.show()#b.繪制'Sales'隨時(shí)間變化的折線圖df['Date_YearMonth']=df['Date'].dt.to_period('M')#轉(zhuǎn)換為年月格式sales_trend=df.groupby('Date_YearMonth')['Sales'].sum().reset_index()sales_trend['Date_YearMonth']=sales_trend['Date_YearMonth'].dt.to_timestamp()#轉(zhuǎn)回datetime用于繪圖plt.figure(figsize=(12,6))plt.plot(sales_trend['Date_YearMonth'],sales_trend['Sales'],marker='o')plt.xlabel('Date')plt.ylabel('TotalSales')plt.title('SalesTrendOverTime')#設(shè)置X軸日期格式化plt.gca().xaxis.set_major_formatter(plt.matplotlib.dates.DateFormatter('%Y-%m'))plt.gca().xaxis.set_major_locator(plt.matplotlib.dates.MonthLocator(interval=3))#每三個(gè)月一個(gè)刻度plt.gcf().autofmt_xdate()#自動(dòng)旋轉(zhuǎn)日期標(biāo)記plt.tight_layout()plt.show()```3.```pythonimportpandasaspdimportmatplotlib.pyplotasplt
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 超聲科院感防控制度
- 行政事業(yè)會(huì)計(jì)制度
- 養(yǎng)老機(jī)構(gòu)后勤工作制度
- 2026甘肅張掖市生態(tài)環(huán)境局甘州分局招聘環(huán)境監(jiān)管監(jiān)測(cè)輔助人員4人備考考試題庫附答案解析
- 2026年上半年黑龍江事業(yè)單位聯(lián)考牡丹江市招聘817人備考考試試題附答案解析
- 2026山東日照市市屬事業(yè)單位招聘初級(jí)綜合類崗位人員參考考試題庫附答案解析
- 2026年甘肅酒泉敦煌空港經(jīng)創(chuàng)發(fā)展有限公司招聘參考考試題庫附答案解析
- 2026廣西北海市合浦縣民政局招錄城鎮(zhèn)公益性崗位人員11人備考考試題庫附答案解析
- 2026年吉安吉星養(yǎng)老服務(wù)有限公司招聘護(hù)理員參考考試試題附答案解析
- 生產(chǎn)安全與自查自檢制度
- 案例-華為從戰(zhàn)略到執(zhí)行的SDBE領(lǐng)先模型
- 江蘇省無錫市2025屆高三上學(xué)期期末教學(xué)質(zhì)量調(diào)研測(cè)試-數(shù)學(xué)試卷(含答案)
- 慢性胃炎的護(hù)理業(yè)務(wù)查房
- 經(jīng)典名著《紅樓夢(mèng)》閱讀任務(wù)單
- 古田會(huì)議學(xué)習(xí)課件
- 高寒地區(qū)建筑工程冬季施工技術(shù)規(guī)范研究
- 電流保護(hù)原理課件
- DBJT15-212-2021 智慧排水建設(shè)技術(shù)規(guī)范
- 民俗學(xué)課件萬建中
- 能源與動(dòng)力工程專業(yè)培養(yǎng)目標(biāo)合理性評(píng)價(jià)分析報(bào)告
- 公司員工活動(dòng)室管理制度
評(píng)論
0/150
提交評(píng)論