資源簡介 中小學(xué)教育資源及組卷應(yīng)用平臺2025新教材技術(shù)高考第一輪專題三 數(shù)據(jù)處理與應(yīng)用考點過關(guān)練考點一 常用表格數(shù)據(jù)的處理1.(2022諸暨海亮高中期中,16)為了響應(yīng)全民健身計劃,某高中對學(xué)生進行了體質(zhì)健康測評,并用Excel軟件進行數(shù)據(jù)處理,如圖a所示。圖a請回答下列問題:(1)區(qū)域M2:P15 的數(shù)據(jù)是通過公式計算得到的,在M2單元格中輸入公式后,再使用自動填充功能完成該區(qū)域的計算,則N3單元格中的公式是“=SUMPRODUCT(( )*($I$3:$I$553=N$1))”。 (提示:M2單元格輸入公式=SUMPRODUCT((A1:A100=“2”)*(I1:I100=“優(yōu)秀”)),表示同時滿足A1:A100是2班和I1:I100是優(yōu)秀這兩個條件的情況數(shù)量,也就是進行條件計數(shù)。)(2)根據(jù)圖a中的數(shù)據(jù)制作的圖表如圖b所示。創(chuàng)建該圖表的數(shù)據(jù)區(qū)域是 。 圖b(3)對圖a工作表進行相關(guān)數(shù)據(jù)分析,下列說法正確的是 (多選,填字母)。 A.以“總分等級”為依據(jù)進行升序排序,選擇的區(qū)域是A3:I553B.選擇“A3:I553”按照“總分等級”升序排序后,圖 b 的圖表不會發(fā)生改變C.現(xiàn)需要選出總分等級為“不及格”的學(xué)生,可選擇區(qū)域A3:I553,以“總分等級”為“不及格”進行篩選并保留結(jié)果D.為了顯示男生立定跳遠得分最高的3位學(xué)生數(shù)據(jù),可先對“性別”為“男”進行篩選,再對“立定跳遠”進行篩選,選擇最大的3項2.(2023杭州“六縣九校”期中,16)小明同學(xué)為備戰(zhàn)明年的計算機類研究生考試,收集了部分高校的計算機專業(yè)復(fù)試分數(shù)線并進行分析。小明收集到的數(shù)據(jù)如圖a所示。各院校總分展示圖請幫助小明同學(xué)對表格數(shù)據(jù)進行下列分析:(1)若想知道這些學(xué)校的總分情況,則在F2單元格先輸入公式 (要求必須使用函數(shù)),然后使用自動填充功能完成單元格F3:F8 的計算。 (2)現(xiàn)要求按照“總分”列進行降序排序,并篩選出總分在290分及以上的院校并顯示,最后繪制各個院校總分的垂直柱形圖(如圖b)。請在程序劃線①②③處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['KaiTi','SimHei','FangSong'] #圖表中文顯示處理df=pd.read_excel ("score.xlsx")df1=df[ ① ] print(df1)#輸出篩選數(shù)據(jù)df=df. ② ("總分",ascending=False)#按照“總分”列降序排序 print(df)#輸出排序好的數(shù)據(jù)#------創(chuàng)建圖表代碼------plt.title("各院校總分展示圖")plt.xlabel("院校名稱")plt. ③ (df.院校名稱,df.總分) #各個院校總分的垂直柱形圖 plt.show()3.(2023杭州S9聯(lián)盟聯(lián)考,14)小明收集了當?shù)?023年3月份的天氣情況,數(shù)據(jù)存儲在文件“temp.xlsx”中,如圖a所示。分析溫差最大的日期,并生成反映各類天氣情況的天數(shù)對比圖如圖b所示。(1)在對表格進行數(shù)據(jù)整理時發(fā)現(xiàn),“日期”可能存在的數(shù)據(jù)問題是 (單選:A.數(shù)據(jù)缺失;B.數(shù)據(jù)異常;C.邏輯錯誤;D.數(shù)據(jù)格式不一致)。 (2)程序代碼如下所示,請在劃線處填入合適的代碼。import matplotlib.pyplot as pltimport pandas as pdplt.rcParams["font.sans-serif"]=["SimHei"] #設(shè)置中文字體df=pd.read_excel("temp.xlsx")df["溫差"]= ① #新增"溫差"列 s=df.sort_values("溫差", ascending=False, ignore_index=True)df_max= ② #獲取溫差最大的日期,如并列只輸出第一個日期 print(df_max)df_t=s.groupby("天氣", as_index=False).count()df_t=df_t.rename(columns={"日期": "天數(shù)"}) #修改列名"日期"為"天數(shù)"x=df_t["天氣"]y=df_t["天數(shù)"] ③ (x, y, label="天氣情況") plt.legend()plt.show()(3)觀察圖b,3月份天數(shù)最多的天氣類型是 。 4.(2023杭州地區(qū)重點中學(xué)期中,15)某中學(xué)高一年級完成一次7選3意向調(diào)查,數(shù)據(jù)存儲在“xk73.xlsx”中,如圖a所示,其中1代表選擇科目,0代表棄選科目。(1)使用 pandas 編程計算本次選課各門課人數(shù)占總?cè)藬?shù)的比例, 請在劃線處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']#圖表顯示中文df=pd.read_excel (" ① ") a=[" "]*len(df) #存儲每個學(xué)生的選課組合dic={"物":0,"化":0,"生":0,"政":0,"歷":0,"地":0,"技":0}for i in df.index: for j in df.columns[3:]: if df.at[i,j]==1: ② a[i]+=jfor i in dic.keys(): dic[i]=round(dic[i]/len(df)*100,2)(2)按照各科選考人數(shù)占比創(chuàng)建如圖b所示的圖表。各科選考人數(shù)占比df1=pd.DataFrame({"學(xué)科":dic.keys(),"人數(shù)占比":dic.values()})df1= ① plt.title("各科選考人數(shù)占比")plt.bar( ② , label="人數(shù)占比") plt.legend()plt.show()觀察圖b,橫線處應(yīng)填入的代碼為:① ;② (選填字母)。 A.df1.sort_values("人數(shù)占比",ascending=True)B.df1.sort_values("人數(shù)占比",ascending=False)C.df1.學(xué)科,df1.人數(shù)占比D.df1.人數(shù)占比,df1.學(xué)科(3)小李同學(xué)想查詢某種七選三組合有多少人。以下程序代碼可以為小李同學(xué)提供查詢功能,程序運行示例如圖c所示,請在劃線處填入合適的代碼。請輸入需要查詢的選課組合:物化技選擇物化技組合的同學(xué)共有:192人圖ccx=input("請輸入需要查詢的選課組合:")cnt=0for i in range(len(a)): if : cnt=cnt+1print(f"選擇{cx}組合的同學(xué)共有: {cnt}人")5.(2023浙江1月選考,14,9分)小紅收集了部分城市2021年全年每天PM2.5、PM10、CO濃度數(shù)據(jù),每天的數(shù)據(jù)分別保存在以8位日期字符串命名的CSV文件中,部分文件如圖a所示,每個文件記錄了一天24小時的監(jiān)測數(shù)據(jù),示例如圖b所示。 為統(tǒng)計分析城市A全年各月份PM2.5的月平均濃度(當月的日平均濃度的平均值),編寫Python程序。請回答下列問題:(1)定義pmday函數(shù),功能為:讀取某天的CSV文件,返回城市A當天PM2.5的日平均濃度。函數(shù)代碼如下,劃線處應(yīng)填入的代碼為 (單選,填字母)。 A.df['類型']=='PM2.5'B.df['類型'=='PM2.5']C.df[df['類型']]=='PM2.5'D.df[df['類型']=='PM2.5']import pandas as pddef pmday(dayfile):df=pd.read_csv(dayfile) #讀取文件 dayfile 中的數(shù)據(jù)df= return df['城市A'].mean() #返回城市A當天PM2.5的日平均濃度(2)統(tǒng)計城市A各月份PM2.5的月平均濃度并繪制線形圖,部分Python程序如下,請在劃線處填入合適的代碼。import matplotlib.pyplot as pltdef tstr(t):if t<10: retrun '0'+str(t)else: retrun str(t)pm=[0]*12mdays=[31,28,31,30,31,30,31,31,30,31,30,31] #2021年每月天數(shù)for m in range(12): sm=0mstr=tstr(m+1)for d in range( ① ): dstr=tstr(d+1)dayfile='2021'+ mstr+ dstr+ '.csv'sd=pmday(dayfile) ② pm[m]=sm/mdays[m]x=[1,2,3,4,5,6,7,8,9,10,11,12]y= ③ plt.plot(x,y) #繪制線形圖#設(shè)置繪圖參數(shù),顯示如圖c所示線形圖,代碼略(3)城市A 2021年 PM2.5年平均濃度為34.6微克/立方米。由圖c可知,城市A 2021年 PM2.5月平均濃度超過年平均濃度的月份共 個。 考點二 大數(shù)據(jù)處理1.(2023寧波三鋒期中,2)下列關(guān)于大數(shù)據(jù)與大數(shù)據(jù)處理的說法,不正確的是( )A.處理大數(shù)據(jù)時,一般采用分治思想B.大數(shù)據(jù)的處理對象是全體數(shù)據(jù),而不是抽樣數(shù)據(jù)C.大數(shù)據(jù)的特點是數(shù)據(jù)量大、速度快、數(shù)據(jù)類型多、價值密度低D.Hadoop是一個可運行于大規(guī)模計算機集群上的分布式系統(tǒng)基礎(chǔ)架構(gòu),適用于處理實時數(shù)據(jù)2.(2023金華十校聯(lián)考,3)下列有關(guān)大數(shù)據(jù)處理、數(shù)據(jù)可視化的說法不正確的是( )A.靜態(tài)數(shù)據(jù)是指處理時已收集完成、計算時不會發(fā)生改變的數(shù)據(jù)B.流數(shù)據(jù)主要是指不間斷地、持續(xù)地到達的實時數(shù)據(jù)C.圖計算是指有關(guān)大量圖片的計算D.“各省生產(chǎn)總值占比情況”可以采用餅圖或環(huán)形圖呈現(xiàn)3.有Python程序段如下所示:import pandas as pdimport numpy as npa=np.array([1,2,3,4]).reshape(2,2)df=pd.DataFrame(a)print(df.at[1,1])該程序段運行后輸出的結(jié)果為( )A.4 B.3 C.2 D.14.小張收集了近階段要學(xué)習(xí)的英文單詞,存儲為“data.txt”文件,格式如圖所示。處理“data.txt”文件中的英文單詞的Python程序段如下所示:file='data.txt'word_c=[]n=0for word in open(file): if word[0:1]=="c": word_c.append(word) print('字母c開頭的單詞個數(shù)為:',n)(1)劃線處的代碼為 。 (2)該程序段運行后,列表word_c中的數(shù)據(jù)為 。 5.請在空格處填寫正確的代碼,使程序完善。實現(xiàn)功能:繪制y=x2-2x+1的圖象。#加載numpy模塊并取名為npimport numpy as np#加載matplotlib.pyplot模塊并取名為pltimport matplotlib.pyplot as plt# x在-7到9之間,每隔0.1取一個值x=np.arange(-7,9,0.1) ① =x**2-2*x+1 plt.plot(x, ② ) plt.title('y=x*x-2*x+1')plt.xlabel('x')plt.ylabel('y')plt. ③ 6.在網(wǎng)上搜索朱自清的文章《綠》,如圖所示。(1)搜索信息并保存為txt文件,該過程稱為 。 (2)“綠.txt”文件的文本類型是 。(填寫字母:A.結(jié)構(gòu)化數(shù)據(jù)/B.半結(jié)構(gòu)化數(shù)據(jù)/C.非結(jié)構(gòu)化數(shù)據(jù)) (3)制作標簽云的代碼如下:import collectionsimport jiebaimport wordcloud as wcimport numpy as npfrom PIL import Imagewcg=wc.WordCloud(background_color="white",font_path='assets/msyh.ttf')text=open('data/綠.txt',encoding='utf-8')read()seg_list= ① f=collections.Counter(seg_list)wcg.fit_words(f)wcg.to_file('output/b.png')劃線處①語句是調(diào)用jieba對象的cut函數(shù)對變量為text的文件進行分詞,則該處語句為 。 (4)得到的標簽云如圖所示。該圖片的文件名是 ,表現(xiàn)該文本特征的是 。(至少寫出3個) 專題綜合練題組一1.(2023十校聯(lián)盟聯(lián)考,5)近年來,各地相繼出現(xiàn)了一些無人售貨超市,其購物流程為:通過微信號/支付寶注冊→掃碼或掃臉開門→選購商品→結(jié)算區(qū)顯示屏清單確認(智能檢測)→開門即走(智能扣款)。整個過程快捷方便,達到無感支付。超市內(nèi)24小時利用攝像頭監(jiān)控,實行人臉識別防盜監(jiān)控,發(fā)現(xiàn)有小偷將自動抓拍報警并列入黑名單,通過RFID技術(shù)+核心軟件算法有效識別和定位貨損源頭,并進行有效處理和防范。此外,超市也會依靠大數(shù)據(jù)、云計算技術(shù),對各種商品的銷售狀況進行匯總分析,并智能判斷客戶的購買習(xí)慣進行產(chǎn)品推薦,還能預(yù)測銷售走勢,給商家提供合理的建議。根據(jù)閱讀材料,下列說法正確的是( )A.匯總分析已完成的商品銷售狀況數(shù)據(jù)屬于流數(shù)據(jù)B.無人售貨超市依靠大數(shù)據(jù)處理只需要分析最近幾個月的抽樣數(shù)據(jù)C.根據(jù)客戶賬號的購買習(xí)慣進行產(chǎn)品推薦,不需要知道用戶購買商品的原因D.無人售貨超市中的每一個數(shù)據(jù)都來自真實數(shù)據(jù),體現(xiàn)了大數(shù)據(jù)價值密度高的特點2.(2023舟山高二期末,12)小明用下列Python程序?qū)Da處理成圖b所示效果,發(fā)現(xiàn)處理后的圖像不理想,他要想將圖像處理成圖c所示效果,則可做的修改是( ) from PIL import Image#第0行import numpy as np#第1行import matplotlib.pyplot as plt#第2行img=np.array(Image.open ('dj.jpg').convert('L'))#第3行row,cols=img.shape#第4行for i in range(row):#第5行 for j in range(cols):#第6行 if img[i,j]>188:#第7行 img[i,j]=1 #1表示白色#第8行 else:#第9行 img[i,j]=0 #0 表示黑色#第10行 plt.figure('dj')#第11行 plt.imshow(img,cmap='gray')#第12行 plt.axis('off')#第13行plt.show ()A.將第7行中的數(shù)字188改成138B.將第7行中的數(shù)字188改成250C.將第7行中的>改成<D.將第8行的代碼與第10行的代碼互換3.(2022杭州重點中學(xué)期中,13)小蕭從國家統(tǒng)計局網(wǎng)站上收集了近幾年國民總收入相關(guān)數(shù)據(jù),并使用Excel軟件進行相關(guān)數(shù)據(jù)處理與分析。部分界面如圖a所示,請回答下列問題:(1)下列關(guān)于數(shù)據(jù)整理的描述,正確的是 (單選)。 A.某些缺失的數(shù)據(jù)可以自己隨意估計一個值進行補充B.Excel表格中的異常數(shù)據(jù)可以直接刪除或忽略C.Excel表格中的重復(fù)數(shù)據(jù)可以進行合并或刪除D.Excel中格式不一致的數(shù)據(jù),一般只保留一種格式的數(shù)據(jù),刪除其他格式的數(shù)據(jù)(2)圖b的圖表數(shù)據(jù)類型為 (選填:柱形圖/條形圖/折線圖)。 圖b(3)根據(jù)表格數(shù)據(jù)呈現(xiàn),從2017年開始可以計算國民總收入增長比例,方法是在C8單元格輸入公式 (計算公式:(當年國民總收入-去年國民總收入)/去年國民總收入),設(shè)置百分比格式后自動填充至F8單元格。 (4)除了Excel,可以進行數(shù)據(jù)分析的軟件還有 (多選,填數(shù)字)。 ①Word ②SPSS ③SAS ④MATLAB⑤記事本 ⑥Python ⑦錄音機4.(2022杭州八縣市區(qū)期末,16)某次測試的Excel文件成績表如圖1所示。圖1(1)已知有200名同學(xué)參加了本次測試。小明想把全體同學(xué)的信息平均分放在D202單元格,那么在 D202單元格輸入的公式為 。 (2)現(xiàn)在要求用Python增加“總分”列數(shù)據(jù),然后求每個班總分的平均分(如圖2),最后繪制每班總分平均分的垂直柱形圖(如圖3)。請在程序劃線①②處選擇合適的代碼(填字母)。圖2圖3import pandas as pdimport matplotlib.pyplot as plt#圖表中文顯示處理,代碼略df=pd.read_excel("test.xlsx")score=[]for i in df.values:js= ① #①處請選擇(填字母): A.df["信息"]+df["通用"]/B.i[3]+i[4] score.append(js)df["總分"]=scoredf1=df.groupby("班級".as_index=False)["總分"].mean()plt.title("期中技術(shù)平均分")plt. ② (df1["班級"],df1["總分"],width=0.5)#②處請選擇(填字母): A.plot/B.bar/C.scatter5.(2022麗水期末,13)小明收集了本周信息技術(shù)學(xué)科學(xué)習(xí)評價的數(shù)據(jù),如圖所示。(1)觀察上表小明做了如下操作,其中屬于數(shù)據(jù)整理的是 (多選,填字母)。 A.刪除重復(fù)行第五行B.驗證并修改D2單元格數(shù)據(jù)C.通過公式計算全班平均分D.重新設(shè)置C3單元格格式(2)為了分析每個組的平均分,設(shè)計了如下Python程序。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_excel("成績表.xlsx") print(df1)劃線處的代碼應(yīng)為 (單選,填字母)。 A.df1=df.groupby("平均分").mean()B.df1=df.mean()C.df1=df.groupby("小組").mean()D.df1=df["小組"].mean()(3)利用Python程序繪制各小題得分率圖表,如圖所示。請在劃線處填寫合適的代碼。num=int(input("請輸入小組:"))plt.figure(figsize=(10,5))list=[]for i in range(12): s="題"+str(i+1) list.append(df1.at[num,s]*50)plt.bar(range(1,13),list)plt.title(str(num)+" ") plt.xlabel("question number")plt.ylabel("correct rate")plt.show()6.(2024屆A9協(xié)作體返校考,14)張三同學(xué)收集了一個地區(qū)8月各類共享單車的騎行數(shù)據(jù)記錄,每天的用戶數(shù)據(jù)存儲于“shared bikes. xlsx”文件中,不考慮跨天數(shù)據(jù)。數(shù)據(jù)格式如圖a所示,請回答下列問題:(1) cal函數(shù)功能為:讀取騎行時間的小時和分鐘部分,轉(zhuǎn)換為分鐘格式并返回,如“2022/8/20 6:57”獲取“6:57”轉(zhuǎn)換為417 (6*60+57=417), 代碼如下。請在劃線處填入合適的代碼。def cal(s): n=len(s) for i in range(n): if s[i]==" ": #如果為空格字符 p=i if s[i]==":": q=i t= + int(s[q+1:]) return t(2)統(tǒng)計本月各類型單車的每天平均騎行時長,并繪制柱形圖,代碼如下,繪制的圖表如圖b所示,請在劃線處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_excel ("shared bikes.xlsx")bike=["哈羅單車","摩拜單車","美團單車","青桔單車"]sm=[0]*4avg=[0]*4days=31for i in ① : t=cal(df.at[i, "結(jié)束時間"]) - cal (df. at[i, "開始時間"]) for j in range(4): if df.at[i,"App 類型”]==bike[j]: ② breakfor i in range(4): avg[i]=sm[i]/ daysplt.figure(figsize=(12, 4))x=bikey= ③ plt.bar(x, y)plt.show()(3)統(tǒng)計本月各類型單車的騎行次數(shù),加框處代碼有錯,可以改正為 (選填字母:A.max()/B.min()/C.mean()/D.count())。 n=df. groupby("App類型",as_ index=True).用戶編號.sum ()7.(2024屆紹興診斷性測試,14)學(xué)校暑期開展“青春迎亞運”活動,邀請高二學(xué)生每日參加運動鍛煉并進行線上打卡。每周收集一次相關(guān)數(shù)據(jù),分別保存在相應(yīng)的xlsx文件中,部分文件如圖a所示。每個文件記錄了一周7天的打卡數(shù)據(jù),示例如圖b所示,其中運動時長單位為分鐘。為統(tǒng)計分析學(xué)生鍛煉情況,給出周報數(shù)據(jù),編寫Python程序,請回答以下問題:(1)定義px函數(shù),功能為:讀取某一周的打卡數(shù)據(jù),將其按班級進行排序操作并返回結(jié)果。函數(shù)代碼如下,將劃線處代碼補充完整。import pandas as pddef px(file_week): df=pd.read_excel(file_week) df=df.sort_values( ,ignore_index=True) #按班級升序排序,參數(shù)ignore_index=True表示更新索引 return df(2)統(tǒng)計某一周各運動項目的參與人次,并繪制柱形圖,如圖c所示,部分Python代碼如下:import matplotlib.pyplot as plts=input("請輸入文件名: ")df=px(s)df1=df.groupby("運動項目".as_index=False). ① #統(tǒng)計各運動項目參與人次 df1.rename(columns={"學(xué)號":"參與人次"},inplace=True) #更改列標題plt.bar( ② ) plt.xlabel("運動項目")plt.ylabel("參與人次")plt.show()劃線處應(yīng)填入的代碼為 (單選,填字母)。 A.①count() ②df1["參與人次"], df1["運動項目"]B.①sum() ②df1["參與人次"], df1["運動項目"]C.①sum() ②df1.運動項目, df1.參與人次D.①count() ②df1.運動項目, df1.參與人次(3)統(tǒng)計某一周每班各學(xué)生的總運動時長后,比較得出該周每班最高的兩位時長,部分Python程序代碼如下,請在劃線處填入合適的代碼。qp=[[0 for i in range(m)]for j in range(n)]'''定義數(shù)組qp記錄每班各學(xué)生一周運動總時長,n為班級數(shù),m為每班人數(shù)。其中qp[0][0]~qp[0][m-1]存儲1班1號~m號同學(xué)的每周運動總時長,依次類推,qp[n-1][0]~qp[n-1][m-1]存儲n班1號~m號同學(xué)的每周運動總時長。'''print("本周每班最高的兩位時長分別為: ") i=0 while i num=df["學(xué)號"][i]cla=df["班級"][i] ① if i!=0 and df["班級"][i]!=df["班級"][i-1] or ② : cla=df["班級"][i-1]k1=0;k2=0for j in range(1,len(qp[cla-1])): if qp[cla-1][j]>qp[cla-1][k1]: ③ k1=j elif qp[cla-1][j]>qp[cla-1][k2]: k2=jprint(cla,"班",qp[cla-1][k1].qp[cla-1][k2])i=i+1(4)統(tǒng)計某一周各運動項目的參與人次后繪制柱形圖如圖c所示,由圖可知,該周參與人氣最高的運動項目為 。 8.(2024屆寧波模擬,13)已知某年級有6個班級,所有學(xué)生名單存儲在文件“name.csv”中(如圖1),學(xué)校舉行某趣味活動項目中,需要每個班抽3名代表參加比賽,請編寫一個隨機抽取程序,執(zhí)行效果如圖2。請回答以下問題: (1)加框處代碼的作用是 。 (2)實現(xiàn)上述功能的部分Python程序如下,請在劃線處填寫合適的代碼。import csvimport random #數(shù)據(jù)讀入f=open("name.csv","r")flines=csv.reader(f)name_list=[]m=6 #班級總數(shù)total=18 #參賽總?cè)藬?shù)for line in flines:if line[0]=="班級":continue #跳過當前循環(huán)的剩余語句,繼續(xù)進行下一次循環(huán)name_list.append(line) ① flag=[False]*ngrade=[3]*mi=0while i p=random.randint( ② , ③ ) bj=int(name_list[p][0]) if flag[p]==False: if grade[bj-1]>0: flag[p]=True ④ i+=1print("抽取名單為: ")print("班級","姓名")for i in range(n):if flag[i]: print(name_list[i][0],name_list[i][1])f.close()9.(2023杭州地區(qū)重點中學(xué)聯(lián)考,14)小明利用“在線社團報名系統(tǒng)”收集了全校學(xué)生的社團報名信息,并將報名數(shù)據(jù)導(dǎo)出到“社團報名.xlsx”中,如圖1所示。然后編寫Python程序?qū)竺麛?shù)據(jù)進行處理,生成分別以班級名和社團名為文件名的 Excel 文件,以便分發(fā)給相應(yīng)的社團指導(dǎo)老師和班主任。(1)在對表格進行數(shù)據(jù)整理時發(fā)現(xiàn),關(guān)于“Jacky.Y” 同學(xué)的記錄可能存在的數(shù)據(jù)問題是 (選填:A.數(shù)據(jù)缺失 B.數(shù)據(jù)異常 C.邏輯錯誤 D.數(shù)據(jù)格式不一致)。 (2)其中生成每個社團名單文件的過程是:先對報名數(shù)據(jù)按社團名稱進行分類,并對選報同一社團的學(xué)生按班級進行升序排序,然后生成各個社團名單文件,如圖 2所示。對應(yīng)的程序代碼如下,請在劃線處填寫合適的代碼。 import pandas as pd def read_file(filename): #讀入報名數(shù)據(jù)的原始文件,并將表中的數(shù)據(jù)轉(zhuǎn)換成列表,代碼略 def save_file(a): #保存名單到相應(yīng)社團的Excel電子表格文件 df=pd.DataFrame(a,columns=["班級","姓名","選報社團"]) df.to_excel( ① )+".xlsx",index=False) a=read_file("社團報名.xlsx") n=len(a) #按社團名(參照拼音的字母順序)進行升序排序,代碼略 #統(tǒng)計各社團人數(shù),存在列表 rs 中,rs=[["滑板社",36],…],代碼略 s=0 for i in range(len(rs)): ② left,right=s, s+num-1 while left < right: imin=imax=left for k in range(left+1,right+1): if a[k][0] < a[imin][0]: imin=k elif a[k][0] > a[imax][0]: imax=k if imin !=left: a[imin],a[left]=a[left],a[imin] if imax==left: ③ if imax !=right: a[imax],a[right]=a[right],a[imax] left=left+1; right=right-1 ④ s+=num題組二1.(2022諸暨期末,4)使用pandas編程處理數(shù)據(jù)DF1,下列選項能實現(xiàn)行列轉(zhuǎn)置操作的是( )A.DF1.T B.DF1.columnsC.DF1.values D.DF1.index2.(2022寧波奉化期末,9) 有如下Python程序段:import pandas as pds=pd.Series(range(5,11,3))s[1]=15print(s)該程序執(zhí)行后,輸出的結(jié)果是( )1 15 2 8 dtype: int64 0 5 1 15 dtype: int64 1 15 2 8 3 11 dtype: int64 0 5 1 15 2 11 dtype: int64 A. B. C. D.3.(2022寧波咸祥中學(xué)期中,16)小明收集了某超市飲料銷售情況相關(guān)數(shù)據(jù),并使用Excel軟件進行處理,如圖a所示。請回答下列問題:(1) 區(qū)域 I3:I15 的數(shù)據(jù)是通過公式計算得到的。在I3單元格輸入公式后, 用自動填充功能完成 I4:I15 的計算,則I3單元格中的公式是 。 (占銷售總額百分比=銷售額(元)/銷售總額(元)) (2)若因誤操作將 I16 單元格刪除,則 I3 單元格會顯示 (選填字母:A.#VALUE B.#DIV/0! C.###### D.#REF! )。 (3)要將類別為“可樂”的飲料以“毛利潤(元)”為主要關(guān)鍵字降序排序, 則選擇排序的區(qū)域為 。 (4)小王根據(jù)圖 a 中的數(shù)據(jù),制作了一張反映橙汁類飲料銷售額和毛利潤對比的圖表,如圖b 所示,則建立該圖表的數(shù)據(jù)區(qū)域是 。將E8單元格數(shù)值修改成6.00,是否會影響該圖表 (選填:是/否) 圖b4.(2022臺州啟超中學(xué)期中,16)APP活躍人數(shù)數(shù)據(jù)存儲在“app.xlsx”文件中,如圖所示,現(xiàn)要編程統(tǒng)計結(jié)果,請回答下列問題:若要把“app.xlsx”第1張工作表中的信息導(dǎo)入到book1對象中,并進行統(tǒng)計,實現(xiàn)這個功能的Python代碼如下,在程序劃線處填入合適的代碼。import pandas as pdbook1= (1) #讀取app.xlsx文件數(shù)據(jù),并存儲在book1對象中 book1_sum= (2) #計算10月人數(shù)之和book1_aver= (3) #計算11月人數(shù)平均值book1_g= (4) #按應(yīng)用領(lǐng)域分組統(tǒng)計book1_sort= (5) #按11月人數(shù)值,降序排序print("10月人數(shù)之和:",book1_sum)print("11月人數(shù)平均值:",book1_aver)5.(2022寧波奉化期末,14)小孫收集了2016年到2020年的各地區(qū)糧食生產(chǎn)總量并存儲在“l(fā)scl.xlsx”文件中,如圖a所示,現(xiàn)使用Python對其進行數(shù)據(jù)處理,并實現(xiàn)數(shù)據(jù)可視化,繪制的圖表如圖b所示。實現(xiàn)如上功能的代碼如下,請回答以下問題。import pandas as pdimport matplotlib.pyplot as pltplt.rc('font', **{'family': 'SimHei'})#設(shè)置中文字體df=pd.read_excel("lscl.xlsx")df. ① ("2020年",ascending=False,inplace=True) df1=df.head(10)x= ② y=df1["2020年"]plt.figure(figsize=(8,6))plt. ③ ("2020年糧食產(chǎn)量TOP10") plt.bar(x,y,label="2020年")plt.xlabel("地區(qū)")plt.legend() ④ (1)請在劃線處填入合適的代碼語句,以實現(xiàn)以上功能。(2)代碼語句“plt.bar(x,y,label="2020年")”的功能為繪制如圖b所示的圖像,能夠?qū)崿F(xiàn)相同功能的語句是 (多選題,少選得1分,多選不得分)。 A.df.head(10).plot("地區(qū)","2020年")B.df[:10:].plot("地區(qū)","2020年",kind="bar")C.plt.plot(x,y,label="2020年",kind="bar")D.plt.bar("地區(qū)","2020年",label="2020年")E.df1.plot("地區(qū)","2020年",kind="bar")6.(2022杭州場口中學(xué)、桐廬富春中學(xué)檢測,16)在月考之后,學(xué)校教務(wù)員拿到了高一年級月考的基礎(chǔ)成績并用Excel軟件進行數(shù)據(jù)處理,如圖1所示。請回答下列問題:圖1(1)區(qū)域M2:M645的數(shù)據(jù)是通過在M2單元格輸入公式并自動填充得到的,則M645單元格中的公式是 。 (2)為了分析各班級的數(shù)學(xué)平均分,設(shè)計了如下Python程序,利用其繪制各班數(shù)學(xué)平均分圖表,如圖2所示:結(jié)合上圖的效果,請在程序劃線處填寫合適的代碼。import matplotlib.pyplot as pltimport pandas as pddf=pd.read_excel('高一月考成績.xlsx')df1=df.groupby("班級"). ① plt.bar(df1.index, ② ) plt.title("高一各班數(shù)學(xué)平均分")plt.ylim(40,100)plt.xlabel( ③ ) plt.ylabel("分數(shù)")plt.show()7.(2023 三月百校聯(lián)考,14)李明收集了梅西2004年至2022年俱樂部比賽數(shù)據(jù),保存在“梅西俱樂部詳細比賽數(shù)據(jù).xlsx”文件中,部分數(shù)據(jù)如圖a所示,現(xiàn)在利用pandas模塊處理數(shù)據(jù)。(1)梅西2004年10月—2021年7月效力于巴塞羅那俱樂部,2021年8月轉(zhuǎn)會至巴黎圣日耳曼俱樂部,現(xiàn)在李明想知道梅西每個賽季的勝率,實現(xiàn)上述功能的Python程序如下,請在劃線處填入合適的代碼。 import pandas as pd import matplotlib.pyplot as plt df=pd.read_excel("梅西俱樂部詳細比賽數(shù)據(jù).xlsx") df['年']=pd.to_datetime(df["時間"]).dt.strftime('%Y').astype(int) df['月']=pd.to_datetime(df["時間"]).dt.strftime('%m').astype(int) df['勝負情況']=" " for i in range(len(df)): f=True;z=0;k=0 for c in df["比分"][i]: if ① : if f: z=z*10+int(c) else: k=k*10+int(c) else: f=not f jlb="巴塞羅那" if df["年"][i]*100+df["月"][i]>=202108: ② if (df["主隊"][i]==jlb and z>k) or (df["客隊"][i]==jlb and z df['勝負情況'][i]="勝" elif z==k: df['勝負情況'][i]="平" else: df['勝負情況'][i]="負" g=df.groupby(df["年"],as_index=True).count() ③ g1=df1.groupby(df1["年"],as_index=True).count() g["勝率"]=g1["勝負情況"]/g["勝負情況"]*100(2)圖b為2004—2022年梅西俱樂部比賽勝率統(tǒng)計圖。2004-2022年梅西俱樂部比賽勝率統(tǒng)計 plt.plot( , marker='^') plt.title("2004-2022年梅西俱樂部比賽勝率統(tǒng)計") plt.show()方框處代碼為 (多選:填字母)。 A.g["年"],g["勝率"] B.g["年"],g.勝率C.g.index,g["勝率"] D.g.index,g.勝率8.(2022湖州三賢聯(lián)盟期中,14)小張同學(xué)為了更好地了解冬奧會,從網(wǎng)上收集了歷屆冬奧會各個項目比賽信息,收集到的部分數(shù)據(jù)如圖1所示。圖1圖2為分析數(shù)據(jù),小張編寫了如下程序:import pandas as pdimport matplotlib.pyplot as pltfrom matplotlib.pyplot import MultipleLocatorplt.rcParams['font.sans-serif']=['SimHei'] #正常顯示中文標簽df=pd.read_csv("dongao.csv")#刪除所有未獲得獎牌的記錄,并將獎牌列中的"G"修改為"金牌","S"修改為"銀牌","B"修改為"銅牌"jp={'G':'金牌','S':'銀牌','B':'銅牌'}for i in df.index: if ① : df=df.drop(i) else: df.at[i,'獎牌']=jp[df.at[i,'獎牌']]#對輸入國家每屆的獎牌數(shù)進行統(tǒng)計,并制作相應(yīng)圖表,如圖2所示nt=input("請輸入國家名稱:")df1=df[df['國家']==nt] df3=pd.DataFrame(df2) #將分組后數(shù)據(jù)生成新的二維結(jié)構(gòu),索引為“屆次”,列標題為“獎牌”x=df3.indexy= ② plt.title(nt+"歷屆冬奧會獎牌趨勢圖")plt. ③ (x,y) plt.show()(1)在劃線處填上合適的代碼。(2)為了能顯示某國歷屆冬奧會獎牌變化,需在加框處添加的語句為 (多選)。 A.df2=df1.groupby('獎牌')df2=df1.屆次.count()B.df2=df1.groupby('屆次')df2=df2['獎牌'].count()C.df2=df1.groupby('獎牌')['屆次'].count() D.df2=df1.groupby('屆次').獎牌.count()9.(2023十校聯(lián)盟聯(lián)考,14)小明從網(wǎng)上下載了豆瓣圖書1900—2017年間出版的圖書數(shù)據(jù),存儲在Excel文件中,如圖a所示,數(shù)據(jù)表已按出版年份升序排好,包含書名、作者、出版社、出版年份、價格、評分以及評論數(shù)量。他要編寫一個Python程序快速對圖書數(shù)據(jù)進行分析。(1)為了求評論數(shù)量累計最高的作者及其出版的圖書平均評分,小明需要對圖a所示的表中數(shù)據(jù)進行整理,則下列說法正確的是 (多選,填字母)。 A.第3行和第4行數(shù)據(jù)重復(fù),刪除其中一行即可B.通過檢測發(fā)現(xiàn)F56168單元格的數(shù)據(jù)存在錯誤,應(yīng)進行修正C.刪除“出版社”和“出版年份”兩列數(shù)據(jù),不影響分析結(jié)果D.“評分”及“評論數(shù)量”為0的數(shù)據(jù)沒有任何價值,可以直接刪除(2)小明利用整理好的數(shù)據(jù),編寫并運行程序,結(jié)果如圖b所示。作者 評論數(shù)量0 [日]村上春樹 679101.01 [日]東野主吾 664106.02 韓寒 623116.03 郭敬明 620571.04 [英]J.K.羅琳 462476.0評論數(shù)量累計最多的作者是:[日]村上春樹 共出版了34部作品,平均評分為8.01圖b實現(xiàn)上述結(jié)果的Python程序如下:import pandas as pddf=pd.read_excel("books.xlsx")df1=df.groupby("作者", as_index=False)df2=df1.評論數(shù)量.sum()dfsort=df2.sort_values("評論數(shù)量" ,ascending=False,ignore_index=True)print(dfsort.head(5))#輸出評論數(shù)量累計前五名作者top= ① dfbk=df[df.作者==top]#根據(jù)作者檢索出相應(yīng)的作品avg=dfbk.評分.mean()print("評論數(shù)量累計最多的作者是:", top)print("共出版了", ② ,"部作品,平均評分為" , round(avg,2)) 則程序中劃線①②處應(yīng)填入的代碼為:① ; ② 。 10.(2024浙江1月選考,14,7分)某學(xué)院舉行運動會,比賽設(shè)跳高、100米等項目,每個項目分男子組和女子組。現(xiàn)要進行報名數(shù)據(jù)處理和比賽成績分析。請回答下列問題:(1)運動會報名規(guī)則為:對于每個項目的男子組和女子組,每個專業(yè)最多各報5人(如“軟件工程”專業(yè)在男子跳高項目中最多報5人)。軟件工程專業(yè)的報名數(shù)據(jù)保存在DataFrame對象df中,如圖a所示。若要編寫Python 程序檢查該專業(yè)男子跳高項目報名是否符合規(guī)則,下列方法中, 正確的是 (單選,填字母)。 A.從df中篩選出性別為“男”的數(shù)據(jù)dfs, 再從dfs中篩選出項目為“跳高”的數(shù)據(jù),判斷篩選出的數(shù)據(jù)行是否超過5行B.對df中數(shù)據(jù)按性別排序并保存到dfs中,再從dfs中篩選出項目為“跳高”的數(shù)據(jù),判斷篩選出的數(shù)據(jù)行是否超過5行C.從df中篩選出項目為“跳高”的數(shù)據(jù)dfs,判斷dfs中是否有連續(xù)5行以上的男生數(shù)據(jù)(2)運動員比賽成績的部分數(shù)據(jù)如圖b所示。根據(jù)已有名次計算得分,第1名至8名分別計9,7,6,5,4,3,2,1分,第8名之后計0分。實現(xiàn)上述功能的部分Python程序如下,請在程序中劃線處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as plt#讀取如圖b 所示數(shù)據(jù),保存到DataFrame對象df1中,代碼略f=[9,7,6,5,4,3,2,1]for i in range(0,len(df1)):rank=df1.at[i,"名次"] #通過行、列標簽取單個值score=0if rank<=8: df1.at[i,"得分"]=score(3)根據(jù)上述df1中的得分數(shù)據(jù),統(tǒng)計各專業(yè)總分,繪制如圖c所示的柱形圖,實現(xiàn)該功能的部分Python程序如下:df2=df1.groupby(" ",as_index=False).sum() #分組求和 #設(shè)置繪圖參數(shù),代碼略plt.bar(x,y) #繪制柱形圖①請在程序中劃線處填入合適的代碼。②程序的方框中應(yīng)填入的正確代碼為 (單選,填字母)。 A.x=df1["專業(yè)"]y=df1["總分"]B.x=df2["專業(yè)"]y=df2["得分"]C.df1["專業(yè)"]="專業(yè)"df1["總分"]="總分"D.df2["專業(yè)"]="專業(yè)"df2["得分"]="得分"專題三 數(shù)據(jù)處理與應(yīng)用考點過關(guān)練考點一 常用表格數(shù)據(jù)的處理1.(2022諸暨海亮高中期中,16)為了響應(yīng)全民健身計劃,某高中對學(xué)生進行了體質(zhì)健康測評,并用Excel軟件進行數(shù)據(jù)處理,如圖a所示。圖a請回答下列問題:(1)區(qū)域M2:P15 的數(shù)據(jù)是通過公式計算得到的,在M2單元格中輸入公式后,再使用自動填充功能完成該區(qū)域的計算,則N3單元格中的公式是“=SUMPRODUCT(( )*($I$3:$I$553=N$1))”。 (提示:M2單元格輸入公式=SUMPRODUCT((A1:A100=“2”)*(I1:I100=“優(yōu)秀”)),表示同時滿足A1:A100是2班和I1:I100是優(yōu)秀這兩個條件的情況數(shù)量,也就是進行條件計數(shù)。)(2)根據(jù)圖a中的數(shù)據(jù)制作的圖表如圖b所示。創(chuàng)建該圖表的數(shù)據(jù)區(qū)域是 。 圖b(3)對圖a工作表進行相關(guān)數(shù)據(jù)分析,下列說法正確的是 (多選,填字母)。 A.以“總分等級”為依據(jù)進行升序排序,選擇的區(qū)域是A3:I553B.選擇“A3:I553”按照“總分等級”升序排序后,圖 b 的圖表不會發(fā)生改變C.現(xiàn)需要選出總分等級為“不及格”的學(xué)生,可選擇區(qū)域A3:I553,以“總分等級”為“不及格”進行篩選并保留結(jié)果D.為了顯示男生立定跳遠得分最高的3位學(xué)生數(shù)據(jù),可先對“性別”為“男”進行篩選,再對“立定跳遠”進行篩選,選擇最大的3項答案 (1)$A$3:$A$553=$K3 (2)M1:P1,M16:P16(3)ABC2.(2023杭州“六縣九校”期中,16)小明同學(xué)為備戰(zhàn)明年的計算機類研究生考試,收集了部分高校的計算機專業(yè)復(fù)試分數(shù)線并進行分析。小明收集到的數(shù)據(jù)如圖a所示。各院校總分展示圖請幫助小明同學(xué)對表格數(shù)據(jù)進行下列分析:(1)若想知道這些學(xué)校的總分情況,則在F2單元格先輸入公式 (要求必須使用函數(shù)),然后使用自動填充功能完成單元格F3:F8 的計算。 (2)現(xiàn)要求按照“總分”列進行降序排序,并篩選出總分在290分及以上的院校并顯示,最后繪制各個院校總分的垂直柱形圖(如圖b)。請在程序劃線①②③處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['KaiTi','SimHei','FangSong'] #圖表中文顯示處理df=pd.read_excel ("score.xlsx")df1=df[ ① ] print(df1)#輸出篩選數(shù)據(jù)df=df. ② ("總分",ascending=False)#按照“總分”列降序排序 print(df)#輸出排序好的數(shù)據(jù)#------創(chuàng)建圖表代碼------plt.title("各院校總分展示圖")plt.xlabel("院校名稱")plt. ③ (df.院校名稱,df.總分) #各個院校總分的垂直柱形圖 plt.show()答案 (1)=SUM (B2:E2) (2)①df.總分>=290或者df["總分"]>=290 ②sort_values ③bar3.(2023杭州S9聯(lián)盟聯(lián)考,14)小明收集了當?shù)?023年3月份的天氣情況,數(shù)據(jù)存儲在文件“temp.xlsx”中,如圖a所示。分析溫差最大的日期,并生成反映各類天氣情況的天數(shù)對比圖如圖b所示。(1)在對表格進行數(shù)據(jù)整理時發(fā)現(xiàn),“日期”可能存在的數(shù)據(jù)問題是 (單選:A.數(shù)據(jù)缺失;B.數(shù)據(jù)異常;C.邏輯錯誤;D.數(shù)據(jù)格式不一致)。 (2)程序代碼如下所示,請在劃線處填入合適的代碼。import matplotlib.pyplot as pltimport pandas as pdplt.rcParams["font.sans-serif"]=["SimHei"] #設(shè)置中文字體df=pd.read_excel("temp.xlsx")df["溫差"]= ① #新增"溫差"列 s=df.sort_values("溫差", ascending=False, ignore_index=True)df_max= ② #獲取溫差最大的日期,如并列只輸出第一個日期 print(df_max)df_t=s.groupby("天氣", as_index=False).count()df_t=df_t.rename(columns={"日期": "天數(shù)"}) #修改列名"日期"為"天數(shù)"x=df_t["天氣"]y=df_t["天數(shù)"] ③ (x, y, label="天氣情況") plt.legend()plt.show()(3)觀察圖b,3月份天數(shù)最多的天氣類型是 。 答案 (1)D (2)①df["最高氣溫"]-df["最低氣溫"] ②s["日期"][0]或 s.at[0,"日期"] ③plt.bar (3)小雨4.(2023杭州地區(qū)重點中學(xué)期中,15)某中學(xué)高一年級完成一次7選3意向調(diào)查,數(shù)據(jù)存儲在“xk73.xlsx”中,如圖a所示,其中1代表選擇科目,0代表棄選科目。(1)使用 pandas 編程計算本次選課各門課人數(shù)占總?cè)藬?shù)的比例, 請在劃線處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']#圖表顯示中文df=pd.read_excel (" ① ") a=[" "]*len(df) #存儲每個學(xué)生的選課組合dic={"物":0,"化":0,"生":0,"政":0,"歷":0,"地":0,"技":0}for i in df.index: for j in df.columns[3:]: if df.at[i,j]==1: ② a[i]+=jfor i in dic.keys(): dic[i]=round(dic[i]/len(df)*100,2)(2)按照各科選考人數(shù)占比創(chuàng)建如圖b所示的圖表。各科選考人數(shù)占比df1=pd.DataFrame({"學(xué)科":dic.keys(),"人數(shù)占比":dic.values()})df1= ① plt.title("各科選考人數(shù)占比")plt.bar( ② , label="人數(shù)占比") plt.legend()plt.show()觀察圖b,橫線處應(yīng)填入的代碼為:① ;② (選填字母)。 A.df1.sort_values("人數(shù)占比",ascending=True)B.df1.sort_values("人數(shù)占比",ascending=False)C.df1.學(xué)科,df1.人數(shù)占比D.df1.人數(shù)占比,df1.學(xué)科(3)小李同學(xué)想查詢某種七選三組合有多少人。以下程序代碼可以為小李同學(xué)提供查詢功能,程序運行示例如圖c所示,請在劃線處填入合適的代碼。請輸入需要查詢的選課組合:物化技選擇物化技組合的同學(xué)共有:192人圖ccx=input("請輸入需要查詢的選課組合:")cnt=0for i in range(len(a)): if : cnt=cnt+1print(f"選擇{cx}組合的同學(xué)共有: {cnt}人")答案 (1)①xk73.xlsx ②dic[j]+=1 (2)①B ②C (3)a[i]==cx或其他等價表達式5.(2023浙江1月選考,14,9分)小紅收集了部分城市2021年全年每天PM2.5、PM10、CO濃度數(shù)據(jù),每天的數(shù)據(jù)分別保存在以8位日期字符串命名的CSV文件中,部分文件如圖a所示,每個文件記錄了一天24小時的監(jiān)測數(shù)據(jù),示例如圖b所示。 為統(tǒng)計分析城市A全年各月份PM2.5的月平均濃度(當月的日平均濃度的平均值),編寫Python程序。請回答下列問題:(1)定義pmday函數(shù),功能為:讀取某天的CSV文件,返回城市A當天PM2.5的日平均濃度。函數(shù)代碼如下,劃線處應(yīng)填入的代碼為 (單選,填字母)。 A.df['類型']=='PM2.5'B.df['類型'=='PM2.5']C.df[df['類型']]=='PM2.5'D.df[df['類型']=='PM2.5']import pandas as pddef pmday(dayfile):df=pd.read_csv(dayfile) #讀取文件 dayfile 中的數(shù)據(jù)df= return df['城市A'].mean() #返回城市A當天PM2.5的日平均濃度(2)統(tǒng)計城市A各月份PM2.5的月平均濃度并繪制線形圖,部分Python程序如下,請在劃線處填入合適的代碼。import matplotlib.pyplot as pltdef tstr(t):if t<10: retrun '0'+str(t)else: retrun str(t)pm=[0]*12mdays=[31,28,31,30,31,30,31,31,30,31,30,31] #2021年每月天數(shù)for m in range(12): sm=0mstr=tstr(m+1)for d in range( ① ): dstr=tstr(d+1)dayfile='2021'+ mstr+ dstr+ '.csv'sd=pmday(dayfile) ② pm[m]=sm/mdays[m]x=[1,2,3,4,5,6,7,8,9,10,11,12]y= ③ plt.plot(x,y) #繪制線形圖#設(shè)置繪圖參數(shù),顯示如圖c所示線形圖,代碼略(3)城市A 2021年 PM2.5年平均濃度為34.6微克/立方米。由圖c可知,城市A 2021年 PM2.5月平均濃度超過年平均濃度的月份共 個。 答案 (1)D (2)①mdays[m] ②sm+=sd ③pm (3)5考點二 大數(shù)據(jù)處理1.(2023寧波三鋒期中,2)下列關(guān)于大數(shù)據(jù)與大數(shù)據(jù)處理的說法,不正確的是( )A.處理大數(shù)據(jù)時,一般采用分治思想B.大數(shù)據(jù)的處理對象是全體數(shù)據(jù),而不是抽樣數(shù)據(jù)C.大數(shù)據(jù)的特點是數(shù)據(jù)量大、速度快、數(shù)據(jù)類型多、價值密度低D.Hadoop是一個可運行于大規(guī)模計算機集群上的分布式系統(tǒng)基礎(chǔ)架構(gòu),適用于處理實時數(shù)據(jù)答案 D 2.(2023金華十校聯(lián)考,3)下列有關(guān)大數(shù)據(jù)處理、數(shù)據(jù)可視化的說法不正確的是( )A.靜態(tài)數(shù)據(jù)是指處理時已收集完成、計算時不會發(fā)生改變的數(shù)據(jù)B.流數(shù)據(jù)主要是指不間斷地、持續(xù)地到達的實時數(shù)據(jù)C.圖計算是指有關(guān)大量圖片的計算D.“各省生產(chǎn)總值占比情況”可以采用餅圖或環(huán)形圖呈現(xiàn)答案 C 3.有Python程序段如下所示:import pandas as pdimport numpy as npa=np.array([1,2,3,4]).reshape(2,2)df=pd.DataFrame(a)print(df.at[1,1])該程序段運行后輸出的結(jié)果為( )A.4 B.3 C.2 D.1答案 A 4.小張收集了近階段要學(xué)習(xí)的英文單詞,存儲為“data.txt”文件,格式如圖所示。處理“data.txt”文件中的英文單詞的Python程序段如下所示:file='data.txt'word_c=[]n=0for word in open(file): if word[0:1]=="c": word_c.append(word) print('字母c開頭的單詞個數(shù)為:',n)(1)劃線處的代碼為 。 (2)該程序段運行后,列表word_c中的數(shù)據(jù)為 。 答案 (1)n=n+1或n+=1 (2)data.txt中所有以小寫字母"c"開頭的單詞5.請在空格處填寫正確的代碼,使程序完善。實現(xiàn)功能:繪制y=x2-2x+1的圖象。#加載numpy模塊并取名為npimport numpy as np#加載matplotlib.pyplot模塊并取名為pltimport matplotlib.pyplot as plt# x在-7到9之間,每隔0.1取一個值x=np.arange(-7,9,0.1) ① =x**2-2*x+1 plt.plot(x, ② ) plt.title('y=x*x-2*x+1')plt.xlabel('x')plt.ylabel('y')plt. ③ 答案 ①y ②y ③show()6.在網(wǎng)上搜索朱自清的文章《綠》,如圖所示。(1)搜索信息并保存為txt文件,該過程稱為 。 (2)“綠.txt”文件的文本類型是 。(填寫字母:A.結(jié)構(gòu)化數(shù)據(jù)/B.半結(jié)構(gòu)化數(shù)據(jù)/C.非結(jié)構(gòu)化數(shù)據(jù)) (3)制作標簽云的代碼如下:import collectionsimport jiebaimport wordcloud as wcimport numpy as npfrom PIL import Imagewcg=wc.WordCloud(background_color="white",font_path='assets/msyh.ttf')text=open('data/綠.txt',encoding='utf-8')read()seg_list= ① f=collections.Counter(seg_list)wcg.fit_words(f)wcg.to_file('output/b.png')劃線處①語句是調(diào)用jieba對象的cut函數(shù)對變量為text的文件進行分詞,則該處語句為 。 (4)得到的標簽云如圖所示。該圖片的文件名是 ,表現(xiàn)該文本特征的是 。(至少寫出3個) 答案 (1)采集信息 (2)C (3)jieba.cut(text)(4)b.png;我、的、著、了、綠、你專題綜合練題組一1.(2023十校聯(lián)盟聯(lián)考,5)近年來,各地相繼出現(xiàn)了一些無人售貨超市,其購物流程為:通過微信號/支付寶注冊→掃碼或掃臉開門→選購商品→結(jié)算區(qū)顯示屏清單確認(智能檢測)→開門即走(智能扣款)。整個過程快捷方便,達到無感支付。超市內(nèi)24小時利用攝像頭監(jiān)控,實行人臉識別防盜監(jiān)控,發(fā)現(xiàn)有小偷將自動抓拍報警并列入黑名單,通過RFID技術(shù)+核心軟件算法有效識別和定位貨損源頭,并進行有效處理和防范。此外,超市也會依靠大數(shù)據(jù)、云計算技術(shù),對各種商品的銷售狀況進行匯總分析,并智能判斷客戶的購買習(xí)慣進行產(chǎn)品推薦,還能預(yù)測銷售走勢,給商家提供合理的建議。根據(jù)閱讀材料,下列說法正確的是( )A.匯總分析已完成的商品銷售狀況數(shù)據(jù)屬于流數(shù)據(jù)B.無人售貨超市依靠大數(shù)據(jù)處理只需要分析最近幾個月的抽樣數(shù)據(jù)C.根據(jù)客戶賬號的購買習(xí)慣進行產(chǎn)品推薦,不需要知道用戶購買商品的原因D.無人售貨超市中的每一個數(shù)據(jù)都來自真實數(shù)據(jù),體現(xiàn)了大數(shù)據(jù)價值密度高的特點答案 C 2.(2023舟山高二期末,12)小明用下列Python程序?qū)Da處理成圖b所示效果,發(fā)現(xiàn)處理后的圖像不理想,他要想將圖像處理成圖c所示效果,則可做的修改是( ) from PIL import Image#第0行import numpy as np#第1行import matplotlib.pyplot as plt#第2行img=np.array(Image.open ('dj.jpg').convert('L'))#第3行row,cols=img.shape#第4行for i in range(row):#第5行 for j in range(cols):#第6行 if img[i,j]>188:#第7行 img[i,j]=1 #1表示白色#第8行 else:#第9行 img[i,j]=0 #0 表示黑色#第10行 plt.figure('dj')#第11行 plt.imshow(img,cmap='gray')#第12行 plt.axis('off')#第13行plt.show ()A.將第7行中的數(shù)字188改成138B.將第7行中的數(shù)字188改成250C.將第7行中的>改成<D.將第8行的代碼與第10行的代碼互換答案 A 3.(2022杭州重點中學(xué)期中,13)小蕭從國家統(tǒng)計局網(wǎng)站上收集了近幾年國民總收入相關(guān)數(shù)據(jù),并使用Excel軟件進行相關(guān)數(shù)據(jù)處理與分析。部分界面如圖a所示,請回答下列問題:(1)下列關(guān)于數(shù)據(jù)整理的描述,正確的是 (單選)。 A.某些缺失的數(shù)據(jù)可以自己隨意估計一個值進行補充B.Excel表格中的異常數(shù)據(jù)可以直接刪除或忽略C.Excel表格中的重復(fù)數(shù)據(jù)可以進行合并或刪除D.Excel中格式不一致的數(shù)據(jù),一般只保留一種格式的數(shù)據(jù),刪除其他格式的數(shù)據(jù)(2)圖b的圖表數(shù)據(jù)類型為 (選填:柱形圖/條形圖/折線圖)。 圖b(3)根據(jù)表格數(shù)據(jù)呈現(xiàn),從2017年開始可以計算國民總收入增長比例,方法是在C8單元格輸入公式 (計算公式:(當年國民總收入-去年國民總收入)/去年國民總收入),設(shè)置百分比格式后自動填充至F8單元格。 (4)除了Excel,可以進行數(shù)據(jù)分析的軟件還有 (多選,填數(shù)字)。 ①Word ②SPSS ③SAS ④MATLAB⑤記事本 ⑥Python ⑦錄音機答案 (1)C (2)柱形圖 (3)=(C2-B2)/B2(4)②③④⑥4.(2022杭州八縣市區(qū)期末,16)某次測試的Excel文件成績表如圖1所示。圖1(1)已知有200名同學(xué)參加了本次測試。小明想把全體同學(xué)的信息平均分放在D202單元格,那么在 D202單元格輸入的公式為 。 (2)現(xiàn)在要求用Python增加“總分”列數(shù)據(jù),然后求每個班總分的平均分(如圖2),最后繪制每班總分平均分的垂直柱形圖(如圖3)。請在程序劃線①②處選擇合適的代碼(填字母)。圖2圖3import pandas as pdimport matplotlib.pyplot as plt#圖表中文顯示處理,代碼略df=pd.read_excel("test.xlsx")score=[]for i in df.values:js= ① #①處請選擇(填字母): A.df["信息"]+df["通用"]/B.i[3]+i[4] score.append(js)df["總分"]=scoredf1=df.groupby("班級".as_index=False)["總分"].mean()plt.title("期中技術(shù)平均分")plt. ② (df1["班級"],df1["總分"],width=0.5)#②處請選擇(填字母): A.plot/B.bar/C.scatter答案 (1)=AVERAGE(D2:D201) (2)①B ②B5.(2022麗水期末,13)小明收集了本周信息技術(shù)學(xué)科學(xué)習(xí)評價的數(shù)據(jù),如圖所示。(1)觀察上表小明做了如下操作,其中屬于數(shù)據(jù)整理的是 (多選,填字母)。 A.刪除重復(fù)行第五行B.驗證并修改D2單元格數(shù)據(jù)C.通過公式計算全班平均分D.重新設(shè)置C3單元格格式(2)為了分析每個組的平均分,設(shè)計了如下Python程序。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_excel("成績表.xlsx") print(df1)劃線處的代碼應(yīng)為 (單選,填字母)。 A.df1=df.groupby("平均分").mean()B.df1=df.mean()C.df1=df.groupby("小組").mean()D.df1=df["小組"].mean()(3)利用Python程序繪制各小題得分率圖表,如圖所示。請在劃線處填寫合適的代碼。num=int(input("請輸入小組:"))plt.figure(figsize=(10,5))list=[]for i in range(12): s="題"+str(i+1) list.append(df1.at[num,s]*50)plt.bar(range(1,13),list)plt.title(str(num)+" ") plt.xlabel("question number")plt.ylabel("correct rate")plt.show()答案 (1)ABD (2)C (3)group6.(2024屆A9協(xié)作體返校考,14)張三同學(xué)收集了一個地區(qū)8月各類共享單車的騎行數(shù)據(jù)記錄,每天的用戶數(shù)據(jù)存儲于“shared bikes. xlsx”文件中,不考慮跨天數(shù)據(jù)。數(shù)據(jù)格式如圖a所示,請回答下列問題:(1) cal函數(shù)功能為:讀取騎行時間的小時和分鐘部分,轉(zhuǎn)換為分鐘格式并返回,如“2022/8/20 6:57”獲取“6:57”轉(zhuǎn)換為417 (6*60+57=417), 代碼如下。請在劃線處填入合適的代碼。def cal(s): n=len(s) for i in range(n): if s[i]==" ": #如果為空格字符 p=i if s[i]==":": q=i t= + int(s[q+1:]) return t(2)統(tǒng)計本月各類型單車的每天平均騎行時長,并繪制柱形圖,代碼如下,繪制的圖表如圖b所示,請在劃線處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_excel ("shared bikes.xlsx")bike=["哈羅單車","摩拜單車","美團單車","青桔單車"]sm=[0]*4avg=[0]*4days=31for i in ① : t=cal(df.at[i, "結(jié)束時間"]) - cal (df. at[i, "開始時間"]) for j in range(4): if df.at[i,"App 類型”]==bike[j]: ② breakfor i in range(4): avg[i]=sm[i]/ daysplt.figure(figsize=(12, 4))x=bikey= ③ plt.bar(x, y)plt.show()(3)統(tǒng)計本月各類型單車的騎行次數(shù),加框處代碼有錯,可以改正為 (選填字母:A.max()/B.min()/C.mean()/D.count())。 n=df. groupby("App類型",as_ index=True).用戶編號.sum ()答案 (1)int(s[p+1:q])*60 (2)①df.index或range(len(df)) ②sm[j]+=t ③avg (3)D7.(2024屆紹興診斷性測試,14)學(xué)校暑期開展“青春迎亞運”活動,邀請高二學(xué)生每日參加運動鍛煉并進行線上打卡。每周收集一次相關(guān)數(shù)據(jù),分別保存在相應(yīng)的xlsx文件中,部分文件如圖a所示。每個文件記錄了一周7天的打卡數(shù)據(jù),示例如圖b所示,其中運動時長單位為分鐘。為統(tǒng)計分析學(xué)生鍛煉情況,給出周報數(shù)據(jù),編寫Python程序,請回答以下問題:(1)定義px函數(shù),功能為:讀取某一周的打卡數(shù)據(jù),將其按班級進行排序操作并返回結(jié)果。函數(shù)代碼如下,將劃線處代碼補充完整。import pandas as pddef px(file_week): df=pd.read_excel(file_week) df=df.sort_values( ,ignore_index=True) #按班級升序排序,參數(shù)ignore_index=True表示更新索引 return df(2)統(tǒng)計某一周各運動項目的參與人次,并繪制柱形圖,如圖c所示,部分Python代碼如下:import matplotlib.pyplot as plts=input("請輸入文件名: ")df=px(s)df1=df.groupby("運動項目".as_index=False). ① #統(tǒng)計各運動項目參與人次 df1.rename(columns={"學(xué)號":"參與人次"},inplace=True) #更改列標題plt.bar( ② ) plt.xlabel("運動項目")plt.ylabel("參與人次")plt.show()劃線處應(yīng)填入的代碼為 (單選,填字母)。 A.①count() ②df1["參與人次"], df1["運動項目"]B.①sum() ②df1["參與人次"], df1["運動項目"]C.①sum() ②df1.運動項目, df1.參與人次D.①count() ②df1.運動項目, df1.參與人次(3)統(tǒng)計某一周每班各學(xué)生的總運動時長后,比較得出該周每班最高的兩位時長,部分Python程序代碼如下,請在劃線處填入合適的代碼。qp=[[0 for i in range(m)]for j in range(n)]'''定義數(shù)組qp記錄每班各學(xué)生一周運動總時長,n為班級數(shù),m為每班人數(shù)。其中qp[0][0]~qp[0][m-1]存儲1班1號~m號同學(xué)的每周運動總時長,依次類推,qp[n-1][0]~qp[n-1][m-1]存儲n班1號~m號同學(xué)的每周運動總時長。'''print("本周每班最高的兩位時長分別為: ") i=0 while i num=df["學(xué)號"][i]cla=df["班級"][i] ① if i!=0 and df["班級"][i]!=df["班級"][i-1] or ② : cla=df["班級"][i-1]k1=0;k2=0for j in range(1,len(qp[cla-1])): if qp[cla-1][j]>qp[cla-1][k1]: ③ k1=j elif qp[cla-1][j]>qp[cla-1][k2]: k2=jprint(cla,"班",qp[cla-1][k1].qp[cla-1][k2])i=i+1(4)統(tǒng)計某一周各運動項目的參與人次后繪制柱形圖如圖c所示,由圖可知,該周參與人氣最高的運動項目為 。 答案 (1)"班級" (2)D (3)①qp[cla-1][num-1]+=df["運動時長"][i] ②i==len(df)-1 ③k2=k1 (4)跑步8.(2024屆寧波模擬,13)已知某年級有6個班級,所有學(xué)生名單存儲在文件“name.csv”中(如圖1),學(xué)校舉行某趣味活動項目中,需要每個班抽3名代表參加比賽,請編寫一個隨機抽取程序,執(zhí)行效果如圖2。請回答以下問題: (1)加框處代碼的作用是 。 (2)實現(xiàn)上述功能的部分Python程序如下,請在劃線處填寫合適的代碼。import csvimport random #數(shù)據(jù)讀入f=open("name.csv","r")flines=csv.reader(f)name_list=[]m=6 #班級總數(shù)total=18 #參賽總?cè)藬?shù)for line in flines:if line[0]=="班級":continue #跳過當前循環(huán)的剩余語句,繼續(xù)進行下一次循環(huán)name_list.append(line) ① flag=[False]*ngrade=[3]*mi=0while i p=random.randint( ② , ③ ) bj=int(name_list[p][0]) if flag[p]==False: if grade[bj-1]>0: flag[p]=True ④ i+=1print("抽取名單為: ")print("班級","姓名")for i in range(n):if flag[i]: print(name_list[i][0],name_list[i][1])f.close()答案 (1)列表name_list中的數(shù)據(jù)不包括標題行 (2)①n=len(name_list) ②0 ③n-1 ④grade[bj-1]-=19.(2023杭州地區(qū)重點中學(xué)聯(lián)考,14)小明利用“在線社團報名系統(tǒng)”收集了全校學(xué)生的社團報名信息,并將報名數(shù)據(jù)導(dǎo)出到“社團報名.xlsx”中,如圖1所示。然后編寫Python程序?qū)竺麛?shù)據(jù)進行處理,生成分別以班級名和社團名為文件名的 Excel 文件,以便分發(fā)給相應(yīng)的社團指導(dǎo)老師和班主任。(1)在對表格進行數(shù)據(jù)整理時發(fā)現(xiàn),關(guān)于“Jacky.Y” 同學(xué)的記錄可能存在的數(shù)據(jù)問題是 (選填:A.數(shù)據(jù)缺失 B.數(shù)據(jù)異常 C.邏輯錯誤 D.數(shù)據(jù)格式不一致)。 (2)其中生成每個社團名單文件的過程是:先對報名數(shù)據(jù)按社團名稱進行分類,并對選報同一社團的學(xué)生按班級進行升序排序,然后生成各個社團名單文件,如圖 2所示。對應(yīng)的程序代碼如下,請在劃線處填寫合適的代碼。 import pandas as pd def read_file(filename): #讀入報名數(shù)據(jù)的原始文件,并將表中的數(shù)據(jù)轉(zhuǎn)換成列表,代碼略 def save_file(a): #保存名單到相應(yīng)社團的Excel電子表格文件 df=pd.DataFrame(a,columns=["班級","姓名","選報社團"]) df.to_excel( ① )+".xlsx",index=False) a=read_file("社團報名.xlsx") n=len(a) #按社團名(參照拼音的字母順序)進行升序排序,代碼略 #統(tǒng)計各社團人數(shù),存在列表 rs 中,rs=[["滑板社",36],…],代碼略 s=0 for i in range(len(rs)): ② left,right=s, s+num-1 while left < right: imin=imax=left for k in range(left+1,right+1): if a[k][0] < a[imin][0]: imin=k elif a[k][0] > a[imax][0]: imax=k if imin !=left: a[imin],a[left]=a[left],a[imin] if imax==left: ③ if imax !=right: a[imax],a[right]=a[right],a[imax] left=left+1; right=right-1 ④ s+=num答案 (1)B (2)①a[0][2]或df.at[0,"選報社團"] 或 df["選報社團"][0] ②num=rs[i][1] ③imax=imin ④save_file(a[s:s+num])題組二1.(2022諸暨期末,4)使用pandas編程處理數(shù)據(jù)DF1,下列選項能實現(xiàn)行列轉(zhuǎn)置操作的是( )A.DF1.T B.DF1.columnsC.DF1.values D.DF1.index答案 A 2.(2022寧波奉化期末,9) 有如下Python程序段:import pandas as pds=pd.Series(range(5,11,3))s[1]=15print(s)該程序執(zhí)行后,輸出的結(jié)果是( )1 15 2 8 dtype: int64 0 5 1 15 dtype: int64 1 15 2 8 3 11 dtype: int64 0 5 1 15 2 11 dtype: int64 A. B. C. D.答案 B 3.(2022寧波咸祥中學(xué)期中,16)小明收集了某超市飲料銷售情況相關(guān)數(shù)據(jù),并使用Excel軟件進行處理,如圖a所示。請回答下列問題:(1) 區(qū)域 I3:I15 的數(shù)據(jù)是通過公式計算得到的。在I3單元格輸入公式后, 用自動填充功能完成 I4:I15 的計算,則I3單元格中的公式是 。 (占銷售總額百分比=銷售額(元)/銷售總額(元)) (2)若因誤操作將 I16 單元格刪除,則 I3 單元格會顯示 (選填字母:A.#VALUE B.#DIV/0! C.###### D.#REF! )。 (3)要將類別為“可樂”的飲料以“毛利潤(元)”為主要關(guān)鍵字降序排序, 則選擇排序的區(qū)域為 。 (4)小王根據(jù)圖 a 中的數(shù)據(jù),制作了一張反映橙汁類飲料銷售額和毛利潤對比的圖表,如圖b 所示,則建立該圖表的數(shù)據(jù)區(qū)域是 。將E8單元格數(shù)值修改成6.00,是否會影響該圖表 (選填:是/否) 圖b答案 (1)=G3/$I$16或=G3/I$16 (2)B (3)B8:I11(4)B2,G2:H2,B5:B7,G5:H7;否4.(2022臺州啟超中學(xué)期中,16)APP活躍人數(shù)數(shù)據(jù)存儲在“app.xlsx”文件中,如圖所示,現(xiàn)要編程統(tǒng)計結(jié)果,請回答下列問題:若要把“app.xlsx”第1張工作表中的信息導(dǎo)入到book1對象中,并進行統(tǒng)計,實現(xiàn)這個功能的Python代碼如下,在程序劃線處填入合適的代碼。import pandas as pdbook1= (1) #讀取app.xlsx文件數(shù)據(jù),并存儲在book1對象中 book1_sum= (2) #計算10月人數(shù)之和book1_aver= (3) #計算11月人數(shù)平均值book1_g= (4) #按應(yīng)用領(lǐng)域分組統(tǒng)計book1_sort= (5) #按11月人數(shù)值,降序排序print("10月人數(shù)之和:",book1_sum)print("11月人數(shù)平均值:",book1_aver)答案 (1)pd.read_excel("app.xlsx") (2)book1["10月人數(shù)"].sum() (3)book1["11月人數(shù)"].mean()(4)book1.groupby("應(yīng)用領(lǐng)域")(5)book1.sort_values("11月人數(shù)",ascending=False)5.(2022寧波奉化期末,14)小孫收集了2016年到2020年的各地區(qū)糧食生產(chǎn)總量并存儲在“l(fā)scl.xlsx”文件中,如圖a所示,現(xiàn)使用Python對其進行數(shù)據(jù)處理,并實現(xiàn)數(shù)據(jù)可視化,繪制的圖表如圖b所示。實現(xiàn)如上功能的代碼如下,請回答以下問題。import pandas as pdimport matplotlib.pyplot as pltplt.rc('font', **{'family': 'SimHei'})#設(shè)置中文字體df=pd.read_excel("lscl.xlsx")df. ① ("2020年",ascending=False,inplace=True) df1=df.head(10)x= ② y=df1["2020年"]plt.figure(figsize=(8,6))plt. ③ ("2020年糧食產(chǎn)量TOP10") plt.bar(x,y,label="2020年")plt.xlabel("地區(qū)")plt.legend() ④ (1)請在劃線處填入合適的代碼語句,以實現(xiàn)以上功能。(2)代碼語句“plt.bar(x,y,label="2020年")”的功能為繪制如圖b所示的圖像,能夠?qū)崿F(xiàn)相同功能的語句是 (多選題,少選得1分,多選不得分)。 A.df.head(10).plot("地區(qū)","2020年")B.df[:10:].plot("地區(qū)","2020年",kind="bar")C.plt.plot(x,y,label="2020年",kind="bar")D.plt.bar("地區(qū)","2020年",label="2020年")E.df1.plot("地區(qū)","2020年",kind="bar")答案 (1)①sort_values ②df1["地區(qū)"] 或 df1.地區(qū)③title ④plt.show() (2)BE6.(2022杭州場口中學(xué)、桐廬富春中學(xué)檢測,16)在月考之后,學(xué)校教務(wù)員拿到了高一年級月考的基礎(chǔ)成績并用Excel軟件進行數(shù)據(jù)處理,如圖1所示。請回答下列問題:圖1(1)區(qū)域M2:M645的數(shù)據(jù)是通過在M2單元格輸入公式并自動填充得到的,則M645單元格中的公式是 。 (2)為了分析各班級的數(shù)學(xué)平均分,設(shè)計了如下Python程序,利用其繪制各班數(shù)學(xué)平均分圖表,如圖2所示:結(jié)合上圖的效果,請在程序劃線處填寫合適的代碼。import matplotlib.pyplot as pltimport pandas as pddf=pd.read_excel('高一月考成績.xlsx')df1=df.groupby("班級"). ① plt.bar(df1.index, ② ) plt.title("高一各班數(shù)學(xué)平均分")plt.ylim(40,100)plt.xlabel( ③ ) plt.ylabel("分數(shù)")plt.show()答案 (1)=SUM(D645:L645) (2)①mean() ②df1.數(shù)學(xué) ③"班級"7.(2023 三月百校聯(lián)考,14)李明收集了梅西2004年至2022年俱樂部比賽數(shù)據(jù),保存在“梅西俱樂部詳細比賽數(shù)據(jù).xlsx”文件中,部分數(shù)據(jù)如圖a所示,現(xiàn)在利用pandas模塊處理數(shù)據(jù)。(1)梅西2004年10月—2021年7月效力于巴塞羅那俱樂部,2021年8月轉(zhuǎn)會至巴黎圣日耳曼俱樂部,現(xiàn)在李明想知道梅西每個賽季的勝率,實現(xiàn)上述功能的Python程序如下,請在劃線處填入合適的代碼。 import pandas as pd import matplotlib.pyplot as plt df=pd.read_excel("梅西俱樂部詳細比賽數(shù)據(jù).xlsx") df['年']=pd.to_datetime(df["時間"]).dt.strftime('%Y').astype(int) df['月']=pd.to_datetime(df["時間"]).dt.strftime('%m').astype(int) df['勝負情況']=" " for i in range(len(df)): f=True;z=0;k=0 for c in df["比分"][i]: if ① : if f: z=z*10+int(c) else: k=k*10+int(c) else: f=not f jlb="巴塞羅那" if df["年"][i]*100+df["月"][i]>=202108: ② if (df["主隊"][i]==jlb and z>k) or (df["客隊"][i]==jlb and z df['勝負情況'][i]="勝" elif z==k: df['勝負情況'][i]="平" else: df['勝負情況'][i]="負" g=df.groupby(df["年"],as_index=True).count() ③ g1=df1.groupby(df1["年"],as_index=True).count() g["勝率"]=g1["勝負情況"]/g["勝負情況"]*100(2)圖b為2004—2022年梅西俱樂部比賽勝率統(tǒng)計圖。2004-2022年梅西俱樂部比賽勝率統(tǒng)計 plt.plot( , marker='^') plt.title("2004-2022年梅西俱樂部比賽勝率統(tǒng)計") plt.show()方框處代碼為 (多選:填字母)。 A.g["年"],g["勝率"] B.g["年"],g.勝率C.g.index,g["勝率"] D.g.index,g.勝率答案 (1)①c!="-" 或c>="0" and c<="9" ②jlb="巴黎圣日耳曼" ③df1=df[df['勝負情況']=="勝"] (2)CD8.(2022湖州三賢聯(lián)盟期中,14)小張同學(xué)為了更好地了解冬奧會,從網(wǎng)上收集了歷屆冬奧會各個項目比賽信息,收集到的部分數(shù)據(jù)如圖1所示。圖1圖2為分析數(shù)據(jù),小張編寫了如下程序:import pandas as pdimport matplotlib.pyplot as pltfrom matplotlib.pyplot import MultipleLocatorplt.rcParams['font.sans-serif']=['SimHei'] #正常顯示中文標簽df=pd.read_csv("dongao.csv")#刪除所有未獲得獎牌的記錄,并將獎牌列中的"G"修改為"金牌","S"修改為"銀牌","B"修改為"銅牌"jp={'G':'金牌','S':'銀牌','B':'銅牌'}for i in df.index: if ① : df=df.drop(i) else: df.at[i,'獎牌']=jp[df.at[i,'獎牌']]#對輸入國家每屆的獎牌數(shù)進行統(tǒng)計,并制作相應(yīng)圖表,如圖2所示nt=input("請輸入國家名稱:")df1=df[df['國家']==nt] df3=pd.DataFrame(df2) #將分組后數(shù)據(jù)生成新的二維結(jié)構(gòu),索引為“屆次”,列標題為“獎牌”x=df3.indexy= ② plt.title(nt+"歷屆冬奧會獎牌趨勢圖")plt. ③ (x,y) plt.show()(1)在劃線處填上合適的代碼。(2)為了能顯示某國歷屆冬奧會獎牌變化,需在加框處添加的語句為 (多選)。 A.df2=df1.groupby('獎牌')df2=df1.屆次.count()B.df2=df1.groupby('屆次')df2=df2['獎牌'].count()C.df2=df1.groupby('獎牌')['屆次'].count() D.df2=df1.groupby('屆次').獎牌.count()答案 (1)①df.at[i,'獎牌']=='0'或 df.獎牌[i]=='0'或 df['獎牌'][i]=='0' ②df3["獎牌"]或 df3.獎牌 ③plot (2)BD9.(2023十校聯(lián)盟聯(lián)考,14)小明從網(wǎng)上下載了豆瓣圖書1900—2017年間出版的圖書數(shù)據(jù),存儲在Excel文件中,如圖a所示,數(shù)據(jù)表已按出版年份升序排好,包含書名、作者、出版社、出版年份、價格、評分以及評論數(shù)量。他要編寫一個Python程序快速對圖書數(shù)據(jù)進行分析。(1)為了求評論數(shù)量累計最高的作者及其出版的圖書平均評分,小明需要對圖a所示的表中數(shù)據(jù)進行整理,則下列說法正確的是 (多選,填字母)。 A.第3行和第4行數(shù)據(jù)重復(fù),刪除其中一行即可B.通過檢測發(fā)現(xiàn)F56168單元格的數(shù)據(jù)存在錯誤,應(yīng)進行修正C.刪除“出版社”和“出版年份”兩列數(shù)據(jù),不影響分析結(jié)果D.“評分”及“評論數(shù)量”為0的數(shù)據(jù)沒有任何價值,可以直接刪除(2)小明利用整理好的數(shù)據(jù),編寫并運行程序,結(jié)果如圖b所示。作者 評論數(shù)量0 [日]村上春樹 679101.01 [日]東野主吾 664106.02 韓寒 623116.03 郭敬明 620571.04 [英]J.K.羅琳 462476.0評論數(shù)量累計最多的作者是:[日]村上春樹 共出版了34部作品,平均評分為8.01圖b實現(xiàn)上述結(jié)果的Python程序如下:import pandas as pddf=pd.read_excel("books.xlsx")df1=df.groupby("作者", as_index=False)df2=df1.評論數(shù)量.sum()dfsort=df2.sort_values("評論數(shù)量" ,ascending=False,ignore_index=True)print(dfsort.head(5))#輸出評論數(shù)量累計前五名作者top= ① dfbk=df[df.作者==top]#根據(jù)作者檢索出相應(yīng)的作品avg=dfbk.評分.mean()print("評論數(shù)量累計最多的作者是:", top)print("共出版了", ② ,"部作品,平均評分為" , round(avg,2)) 則程序中劃線①②處應(yīng)填入的代碼為:① ; ② 。 答案 (1)BC (2)①dfsort.at[0,"作者"]或dfsort["作者"][0]或其他等價答案 ②len(dfbk)或dfbk.書名.count()或dfbk["書名"].count()10.(2024浙江1月選考,14,7分)某學(xué)院舉行運動會,比賽設(shè)跳高、100米等項目,每個項目分男子組和女子組。現(xiàn)要進行報名數(shù)據(jù)處理和比賽成績分析。請回答下列問題:(1)運動會報名規(guī)則為:對于每個項目的男子組和女子組,每個專業(yè)最多各報5人(如“軟件工程”專業(yè)在男子跳高項目中最多報5人)。軟件工程專業(yè)的報名數(shù)據(jù)保存在DataFrame對象df中,如圖a所示。若要編寫Python 程序檢查該專業(yè)男子跳高項目報名是否符合規(guī)則,下列方法中, 正確的是 (單選,填字母)。 A.從df中篩選出性別為“男”的數(shù)據(jù)dfs, 再從dfs中篩選出項目為“跳高”的數(shù)據(jù),判斷篩選出的數(shù)據(jù)行是否超過5行B.對df中數(shù)據(jù)按性別排序并保存到dfs中,再從dfs中篩選出項目為“跳高”的數(shù)據(jù),判斷篩選出的數(shù)據(jù)行是否超過5行C.從df中篩選出項目為“跳高”的數(shù)據(jù)dfs,判斷dfs中是否有連續(xù)5行以上的男生數(shù)據(jù)(2)運動員比賽成績的部分數(shù)據(jù)如圖b所示。根據(jù)已有名次計算得分,第1名至8名分別計9,7,6,5,4,3,2,1分,第8名之后計0分。實現(xiàn)上述功能的部分Python程序如下,請在程序中劃線處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as plt#讀取如圖b 所示數(shù)據(jù),保存到DataFrame對象df1中,代碼略f=[9,7,6,5,4,3,2,1]for i in range(0,len(df1)):rank=df1.at[i,"名次"] #通過行、列標簽取單個值score=0if rank<=8: df1.at[i,"得分"]=score(3)根據(jù)上述df1中的得分數(shù)據(jù),統(tǒng)計各專業(yè)總分,繪制如圖c所示的柱形圖,實現(xiàn)該功能的部分Python程序如下:df2=df1.groupby(" ",as_index=False).sum() #分組求和 #設(shè)置繪圖參數(shù),代碼略plt.bar(x,y) #繪制柱形圖①請在程序中劃線處填入合適的代碼。②程序的方框中應(yīng)填入的正確代碼為 (單選,填字母)。 A.x=df1["專業(yè)"]y=df1["總分"]B.x=df2["專業(yè)"]y=df2["得分"]C.df1["專業(yè)"]="專業(yè)"df1["總分"]="總分"D.df2["專業(yè)"]="專業(yè)"df2["得分"]="得分"答案 (1)A (2)score=f[rank-1]或score=f[int(rank)-1] (3)①專業(yè) ②B21世紀教育網(wǎng) www.21cnjy.com 精品試卷·第 2 頁 (共 2 頁)21世紀教育網(wǎng)(www.21cnjy.com) 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫