中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

高中信息技術 2024年信息技術學業水平考試專題練——優化集訓15 pandas處理數據(word版,含解析)

資源下載
  1. 二一教育資源

高中信息技術 2024年信息技術學業水平考試專題練——優化集訓15 pandas處理數據(word版,含解析)

資源簡介

中小學教育資源及組卷應用平臺
2024信息技術學業水平考試專題練
優化集訓15 pandas處理數據
1.下列有關pandas-Series的說法錯誤的是(  )
A.包含一個數組的數據和一個與數據關聯的索引,是二維數據結構
B.其索引值默認是從0起遞增的整數
C.可用列表、字典等創建Series數據結構
D.其索引可以指定,類型可以為字符串型
2.下列有關pandas-DataFrame的說法錯誤的是(  )
A.是一種二維數據結構
B.由1個索引列和若干個數據列組成
C.同一個DataFrame對象的數據列類型必須相同
D.可看作共享同1個index的Series集合
3.不能實現選取df對象前5行數據記錄的語句是(  )
A.df.head() B.df.head(5)
C.df[0:5] D.df[5]
回答下列第4~6題。
4.某DataFrame對象df中包含“準考證號”“班級”“姓名”“文”“數學”…“總分”等10個數據列、多個數據行,能獲取對象df第3個數據的“姓名”內容的語句有(  )
①df[2,'姓名'] ②df.at[2,'姓名'] ③df[2]['姓名'] ④df['姓名'][2] ⑤df.姓名[2]
A.①②③ B.①②④
C.②④ D.②④⑤
5.如第4題對象df,能夠降序排列輸出總分大于等于600分的學生數據的代碼組合是(  )
①df=df.sort_values(″總分″,ascending=True)
②df=df.sort_values(″總分″,ascending=False)
③df=df[″總分″,>=600]
④df=df[df[″總分″]>=600]
⑤print(df)
A.①③⑤ B.①④⑤
C.②③⑤ D.②④⑤
6.如第4題對象df1,下列語句中,可以以班級為單位,統計出各班級“總分”的平均值的有(  )
①df.groupby('班級').mean()
②df.groupby('總分').mean()
③df.groupby('班級')['總分'].mean()
④df.groupby('班級').總分.mean()
⑤df.groupby('班級').describe()
A.①②③④⑤
B.①②③⑤
C.①③④⑤
D.①②③
7.有如下Python程序段。
import pandas as pd
list=[['周欣怡','湖州',15,646],['王培新','杭州',16,598],['張佳明','杭州',16,609],['林逢春','嘉興',15,547],['朱梁棟','湖州',16,588],['陳清瑞','嘉興',15,571]]
inf=pd.DataFrame(list,columns=['姓名','地區','年齡','總分'])
print(inf)
print('_' 20)
print(inf.groupby('地區',as_index=True).mean())
執行該程序段后,輸出的結果是     (單選,填字母)。
8.    模塊用于科學計算(隨機數、數組運算等);    模塊基于numpy實現,主要用于數據的處理和分析;     用于繪圖庫。
9.小明從某網站上收集了2022年4月部分生產資料市場價格變動情況數據,數據集保存在“shuju.xlsx”中,格式如圖a所示。
圖a
為分析相關類別生產資料的漲跌幅情況,小明編寫了以下Python程序。
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']  #正常顯示中文字體
df=pd.read_excel(″shuju.xlsx″)
df[″漲跌幅″]=         
(1)通過數據計算添加漲跌幅列,請在劃線處填寫實現的方式。
計算公式為:漲跌幅=(本期價格-上期價格)/本期價格 100。
(2)若要對表格中的數據進行分類統計,并求其平均漲跌幅。請完善以下代碼:
g=df.groupby(″類別″,as_index=False)
df1=          
df1=df1.sort_values(″漲跌幅″,ascending=False)
(3)根據上述操作結果,制作一份顯示類別漲跌幅平均值的圖表,其格式如圖b所示。
各種類別對比分析圖
圖b
請完善以下代碼。
plt.figure(figsize=(8,4))
plt.title(″各種類別對比分析圖″)
plt.bar(①      ,df1[″漲跌幅″],label='漲跌幅')
plt.xlabel(″類別″)
plt.ylabel(②    )
plt.legend()
plt.show()
10.某市普通高中選課數據如下圖所示,學生從技術、化學、生物等科目中選擇三門作為高考選考科目,“1”表示已選擇的選考科目。
圖a
各學校技術選考人數對比
圖b
為分析各學校的學生選科數據,編寫了如下程序:
import pandas as pd
import matplotlib.pyplot as plt
plt.rc'font', {'family':'SimHei'}
plt.rcParams['axes.unicode_minus']=False
df=pd.read_csv(″xk73.csv″)
(1)若要了解市里所有選考技術的學生情況,請在劃線處給出合適代碼,篩選出有選技術科目的同學信息:
print(          )
(2)使用Python編程分析每所學校各科目選考的人數(不同的學校代碼表示不同的學校)。請在劃線處填入合適的代碼。
g=df.groupby(①   ,as index=false)   #按學校進行分組
s2=②                  #按學校分別統計各科目的選考人數
s2.sort_values(″技術″,ascending=False)   #按技術選考人數進行降序排序
(3)若要做一個各學校技術選考人數的分析,添加如下程序段:
plt.figure(figsize=(10,5))
a=list(s2.學校代碼)
plt.xticks(range(1en(s2.學校代碼)),a,rotation=45) #將各學校代碼按降序順序顯示在x軸上
p1t.①   (range(len(s2.學校代碼)),②    ) #對各學校及對應技術選考人數進行繪圖
plt.xlabel(″學校″)
plt.ylabel(″技術選考人數″)
plt.title(″各學校技術選考人數比對″)
plt.show()
劃線處的代碼應為     (單選,填字母)。
A.①barh ②df.技術
B.①plot ②df.技術
C.①bar ②s2.技術
D.①scatter ②s2.技術
11.黃老師獲取了學校高三年級學生某次考試數據,并使用Excel軟件、Python程序進行數據處理,如圖所示。
(1)Excel文件“exam.xlsx”中的數據為    (選填:結構化數據/半結構化數據/非結構化數據)。
(2)黃老師將文件存儲為“exam.xlsx”,并編寫了如下Python程序對數據進一步分析。請將劃線處代碼補充完整。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel(″exam.xlsx″)
#統計年級物化生政史地技各個科目的選課人數(本次考試無人缺考)
for i in df.columns[5:12]:
km=i
renshu=df[km].count()
print(″選″,km,″的人數為:″,renshu)
#制作年級男女生語文平均分對比圖表
df2=df.groupby(″性別″,as_index=False).
①  
plt.bar(df2.性別,②     )
plt.③    (″男女生語文平均分比較″)
plt.xlabel(″性別″)
plt.ylabel(″語文平均分″)
plt.show()
12.某地區要對轄區內高中學生的高考選科情況進行統計,前期先用Excel收集各個學校每個學生的選科數據,界面如圖所示。
用Python處理上述Excel文件,統計每個學校各個學科的選科情況,并用圖表展示學生人數最多的5個學校的物理學科與政治學科人數,代碼如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.read_excel(″xk73.xlsx″)#讀數據到pandas的DataFrame結構中
sc=df.groupby(①     ,as_index=False).count()#按學校分組計數
sc=sc.drop('姓名',axis=1)#刪除“姓名”列
sc=sc.rename(columns={'學生編號':'總人數'})
#修改“學生編號”為“總人數”
sc_sort=sc.sort_values(″總人數″,ascending=False)
#對分組計數結果進行排序
x=np.arange(1,6)#產生列表[1,2,3,4,5]
y1=sc_sort.head()[″物理″]
②     
plt.figure(figsize=(8,4))
plt.bar(x-0.2,y1,label=″wuli″,width=0.4)
plt.bar(x+0.2,y2,label=″zhengzhi″,width=0.4)
plt.ylim(50,400)
plt.legend()
df_sum=pd.DataFrame(data=sc.sum()).T
df_sum['學校代碼']='合計'
③      #顯示圖表
result=sc.append(df_sum)   #增加“合計”行
result.to_excel(″學校人數統計.xlsx″)#保存結果
在劃線處填寫合適代碼,完善程序。
優化集訓15 pandas處理數據
1.A 解析 是一維數據結構。
2.C 解析 同一個DataFrame對象的不同數據列類型可以不同。
3.D 解析 head(n)函數返回DataFrame前n行數據,若不設置參數n,則默認返回前5行。df[0:5]選取df對象前5行數據,df[5]選取df對象第6列數據。
4.D 解析 可以通過at方法獲取DataFrame對象單個數據值,格式為df.at[index,column],所以②正確;或者根據列標題先獲取整列,然后通過行索引獲取單個數據值,其中獲取一列數據可以通過字典記法或屬性檢索,第三行數據的行索引是2,所以④⑤均正確。
5.D 解析 sort_values()函數中,參數ascending,默認值為True,表示升序,為False時是降序;對于DataFrame對象,可以通過布爾型數據選取滿足條件的行,正確寫法為df[df[″總分″]>=600];最后通過語句⑤輸出結果。
6.C 解析 統計各班級學生“總分”平均值需要按照“班級”分組計算。
df.groupby('班級').mean()#按“班級”分組,計算各純數值列平均值。
df.groupby('總分').mean()#按“總分”分組,計算各純數值列平均值。
df.groupby('班級')['總分'].mean()#按“班級”分組,并選取“總分”列計算平均值。
df.groupby('班級').總分.mean()#按“班級”分組,并選取“總分”列計算平均值。
df.groupby('班級').describe()#按“總分”分組,計算各純數值列的平均值、最大值等統計數據。
7.B 解析 as_index:為True時自動把第1列作為了index,為False時默認索引0、1、2…。
8.numpy pandas matpoltlib
9.(1)(df.本期價格-df.上期價格)/df.本期價格 100
(2)g.mean() (3)①df[″類別″]或df.類別 ②″漲跌幅″
解析 (1)根據數量關系確定計算公式。
(2)計算平均值使用mean()函數。
(3)①觀察題圖b可知需要填橫坐標數據來源。②此處需要填寫橫坐標y的標簽(ylabel),由題圖可知應該是“漲跌幅”。
10.(1)df[df.技術==1](或df[df[″技術″]==1]) (2)①″學校代碼″ ②g.sum()或g.count() (3)D 解析 本題考查pandas及繪圖模塊知識。(1)Dataframe中,要對某列進行篩選(查找并顯示符合條件的值),可以通過df[df[″技術″]==1]或df[df.技術==1]來實現。(2)此處考查pandas中分組函數groupby的用法。依題意,本條語句按學校進行分組,分組的字段名應為“學校代碼”,故①處填″學校代碼″;①處代碼已將分組后的對象賦值組變量g,②空對其進行計數,故填:g.count()。(3)觀察題圖b,可知當前是散點圖(scatter),故選D。
11.(1)非結構化數據 (2)①mean() ②df2.語文 ③title
解析 (1)Excel中的數據是屬于結構化數據(每列數據類型均統一)。(2)①此處求平均值,因此使用mean()函數。②根據性別分組后,df2對象中‘語文’列存放了男女生語文成績平均分,創建柱形圖,x軸為性別,y軸為男女生語文成績平均分,故答案為df2.語文。③此處顯示的標題,因此答案如上。
12.①″學校代碼″ ②y2=sc_sort.head()[″政治″](或y2=sc_sort.head(5)[″政治″]) ③plt.show() 解析 本題考查數據處理知識。(1)①題干說明需要“統計每個學校各個學科的選科情況”,所以需要根據“學校編號”分類匯總統計各學校的選科情況,此空填寫分組的關鍵字,答案為“學校代碼”。②根據上下文,此空是獲取學生人數最多的5個學校的政治學科人數。前面代碼段已經根據各學生總人數降序排序,再結合上一段代碼,此空只需要將“物理”修改成“政治”。head()函數返回DataFrame的前n個數據記錄,如果參數不寫,默認參數是5,所以此空答案:y2=sc_sort.head()[″政治″]或y2=sc_sort.head(5)[″政治″]。③代碼段plt.show()的功能是顯示圖形。(2)此空考查對圖表結果呈現的辨析。代碼段“plt.legend()”,說明最后的結果有圖例,排除CD。代碼段“plt.ylim(50,400)”,說明y坐標的取值范圍是[50,400],所以排除A,選B。
21世紀教育網 www.21cnjy.com 精品試卷·第 2 頁 (共 2 頁)
21世紀教育網(www.21cnjy.com)

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 高尔夫| 花莲县| 波密县| 塘沽区| 方正县| 井研县| 申扎县| 微博| 综艺| 岢岚县| 阜康市| 武定县| 德庆县| 郑州市| 蓬安县| 中牟县| 子洲县| 阿拉善盟| 葫芦岛市| 新津县| 湟源县| 新绛县| 三门峡市| 封开县| 襄城县| 淅川县| 绥滨县| 介休市| 比如县| 遂昌县| 金塔县| 甘孜县| 钦州市| 锡林浩特市| 博爱县| 蓝田县| 合水县| 璧山县| 康马县| 托克逊县| 木里|