版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第4章課時15pandas處理數(shù)據(jù)信息技術課標梳理·微知著教材重點課標要求學業(yè)質(zhì)量水平pandas數(shù)據(jù)處理1.掌握Series數(shù)據(jù)結(jié)構、DataFrame數(shù)據(jù)結(jié)構和DataFrame常用函數(shù)2.能利用軟件工具或平臺準確而有序地對數(shù)據(jù)進行整理、組織、計算與呈現(xiàn)2-2教材研析·固基礎1
Python進行數(shù)據(jù)處理時常用的擴展模塊1.numpy:科學計算(隨機數(shù)、數(shù)組運算等)2.scipy:基于numpy構建。增強了高等數(shù)學、信號處理、圖像處理、統(tǒng)計等處理能力。3.matpoltlib:繪圖庫4.pandas:基于numpy實現(xiàn),主要用于數(shù)據(jù)的處理和分析。(1)Pandas提供了Series和DataFrame兩種數(shù)據(jù)結(jié)構完成數(shù)據(jù)的整理、計算、統(tǒng)計、分析及簡單可視化。(2)導入pandas模塊:importpandasaspd(導入pandas模塊,pd為別名)典例1下列擴展模塊中用于數(shù)據(jù)處理和分析的是()A.Numpy
B.scipyC.matpoltlib
D.pandasD2SeriesSeries是一種一維數(shù)組的數(shù)據(jù)結(jié)構,由一個數(shù)組的數(shù)據(jù)和一個與數(shù)據(jù)關聯(lián)的索引(index),索引值默認是從0起遞增的整數(shù)。屬性說明indexSeries的下標索引,其值默認是從0起遞增的整數(shù)values存放Series值的一個數(shù)組①輸入數(shù)據(jù)及輸出
代碼結(jié)果importpandasaspd#導入pandas庫,別名為pds1=pd.Series([166,178,180])print(s1)0________1661________1782________180s2=pd.Series([166,178,180],index=['s01','s02','s03'])print(s2)s01________166s02________178s03________180dtype:int64s2=pd.Series([166,178,180],\index=['s01','s02','s03'])print(s2.values)foriins2.index:print(i)[166178180]s01s02s03#輸出具體索引號需要通過循環(huán)輸出②修改數(shù)據(jù)
s2=pd.Series([166,178,\180],index=['s01','s02','s03'])s2[1]=188s2['s03']=222print(s2.values)[166188222]#可通過默認索引號或指定索引號修改其數(shù)據(jù)值典例2編寫Python小程序建立字典存儲如圖所示Excel中的選手數(shù)據(jù);并利用字典生成pandas的Series對象;輸出Series對象,并自動進入修改選手年齡的狀態(tài)(輸入選手的姓名、新的年齡值),當輸入為0時,退出修改狀態(tài);然后輸出年齡審核通過(不超過15歲)的選手名單。程序運行界面和代碼如下,請在劃線處填上合適的代碼。importpandasaspddic={'姚佳云':15,'莊怡婷':16,'孫雁\婷':17,'馬能':16,'謝震宇':16,'傅懌成':\17,'沈雯雯':15,'王婧':16}inf=①_________________print(inf)whileTrue:xm=input('請輸入需要修改年齡\的人名:') if②_______________:
break
nl=int(input('請輸入需要修改的\年齡值:'))③_________________pd.Series(dic)xm=='0'inf[xm]=nl
print(inf)ans=''foriininf.index:if④__________________:
ans=ans+''+iprint('通過年齡審核的選手是:',ans)inf[i]<=15解析
①用字典創(chuàng)建一維Series數(shù)據(jù)對象,參數(shù)為對象名。②當輸入的姓名xm為字符‘0’時,結(jié)束修改狀態(tài)。③修改Series對象值的格式為:對象名[index]=新值。④for
i
in
inf.index:說明for遍歷Series對象inf的索引,i為每次循環(huán)遍歷到的index,與之相應的value為inf[i],年齡不能大于15歲。3DataFrame
1.概念DataFrame是一種二維的數(shù)據(jù)結(jié)構,類似于關系表的表格型數(shù)據(jù)結(jié)構,由1個索引列(index)和若干個數(shù)據(jù)列組成,每個數(shù)據(jù)列可以是不同的類型。DataFrame可以看作是共享同一個index的Series的集合。其中,每列中的元素類型必須一致,而不同的列可以擁有不同的元素類型。創(chuàng)建DataFrame對象的方法很多,通常用一個相等長度的列表或字典來創(chuàng)建。2.DataFrame對象常用屬性屬性說明indexDataFrame的行索引columns存放各列的列標題values存放值的二維數(shù)據(jù)T行列轉(zhuǎn)置3.常用函數(shù)
函數(shù)名函數(shù)功能使用方法示例count()返回非空(NaN)數(shù)據(jù)項的數(shù)量df1.count()
每一列非空個數(shù)df1.count(axis=1)
每一行非空數(shù)df1['姓名'].count()
“姓名”列非空
個數(shù)sum()求和,通過axis=0/1確定求和軸向(axis=0縱向求和,axis=1橫向求和)df1.sum()
axis默認為0,縱向求和df1.sum(axis=1) 橫向求和df1.語文.sum() 僅語文列求和mean()求平均值,通過axis=0/1確定行列用法同上max()返回最大值用法同上min()返回最小值用法同上describe()返回各列的基本描述統(tǒng)計值,包含非空項數(shù)、平均數(shù)、標準差、最大值、最小值及4分位差df1.describe()df1.語文.describe()head()返回DataFrame前n個數(shù)據(jù)記錄(若不設置n,則默認返回前5行)df1.head(2)
返回前2行df1.head()
返回前5行tail()返回DataFrame后n個數(shù)據(jù)記錄df1.tail(2)
返回后2行df1.tail()
返回后5行groupby()對各列或各行中的數(shù)據(jù)進行分組,然后可對其中每一組數(shù)據(jù)進行不同的操作df1.groupby(″性別″)按性別分類df1.groupby(″性別″).mean()按性別求平均值sort_values()排序,通過axis=0/1確定行列,默認為0(列)通過ascending=True/False設置升序還是降序,默認為True(升序)df1.sort_values(″語文″,ascending=False)按語文成績降序排序drop()刪除數(shù)據(jù),通過axis=0/1確定行列,默認為0(行)注意:不改變原有對象的數(shù)據(jù)df2=df1.drop(2)刪除第3行df3=df1.drop(″性別″,axis=1)刪除“性別”列append()在指定對象的結(jié)尾插入內(nèi)容注意:不改變原有對象的數(shù)據(jù)data1={'姓名':'李二','性別':'男','語文':143,'數(shù)學':133,'英語':136}df5=df1.append(data1,ignore_index=True)在結(jié)尾增加一行數(shù)據(jù)insert()在指定位置插入列注意:改變原有對象的數(shù)據(jù)df1.insert(loc=0,column='出生年份',value=[2003,2002,2001,2002])在第一列插入“出生年份”列rename()修改列名或者索引注意:不改變原有對象的數(shù)據(jù)df5=df1.rename(columns={″姓名″:″您的姓名″,″性別″:″您的性別″})
改變列名df6=df1.rename(index={0:″a″,1:″b″})改變索引名4.主要操作①創(chuàng)建DataFrame對象方法1,使用相等長度列表的字典構建一個DataFrame對象。方法2,直接讀取二維數(shù)據(jù)文件創(chuàng)建DataFrame對象。pd.read_csv(filename)#從CSV文件導入數(shù)據(jù)pd.read_excel(filename)#從Excel文件導入數(shù)據(jù)df.to_csv(filename)#導出數(shù)據(jù)到CSV文件df.to_excel(filename)#導出數(shù)據(jù)到Excel文件②查看DataFrame數(shù)據(jù)屬性
③查看DataFrame常用方法
④axis(軸說明)及行列操作
⑤分組計算
典例3(2023浙江7月學考)某省2022年全年氣象災害預警數(shù)據(jù)保存在文件“qxyj.xlsx”中,部分數(shù)據(jù)如圖所示,編寫Python程序,統(tǒng)計全年發(fā)布次數(shù)最多的5種氣象預警。importpandasaspddf=pd.read_excel(″qxyj.xlsx″)
#讀文件中的數(shù)據(jù)df=df.drop([″預警發(fā)布單位″,″預警等\級″,″預警發(fā)布時間″],axis=1)
#刪除列________________print(df_s[0:5])方框中代碼由下列語句中的部分語句組成:①df_g=df.groupby(″預警名稱″,as_index=False).sum()
#分組求和②df_g=df_s.groupby(″次數(shù)″,as_index=False).sum()③df_s=df.sort_values(″次數(shù)″,ascending=True)
#升序排序④df_s=df_g.sort_values(″次數(shù)″,ascending=False)要實現(xiàn)上述功能,下列選項中正確的是()A.①④ B.①③
C.②④ D.③②A解析
本題考查Pandas數(shù)據(jù)處理知識。根據(jù)題意,要求統(tǒng)計全年發(fā)布次數(shù)最多的5種氣象預警,因此在使用分組函數(shù)groupby()時,分組的依據(jù)肯定是“預警名稱”,而不是“次數(shù)”,故在①②中選擇①。從代碼print(df_s[0:5])可知,輸出的是最前面的五條記錄,從而可以判斷數(shù)據(jù)是按照“次數(shù)”降序排序的,sort_values函數(shù)的參數(shù)ascending=False表示降序,故在③④中選擇④。故選A。典例4某DataFrame對象df,包含“商品編碼”“銷售價格”“銷售日期”等數(shù)據(jù)列。下列語句中,能將df對象中的數(shù)據(jù)以“商品編碼”為關鍵字降序排序的是()A.df.sort_index(axis=1,ascending=True)B.df.sort_values('商品編碼',ascending=False)C.df.sort_values('商品編碼',ascending=True,inplace=True)D.df.sort_values('商品編碼',ascending=False,inplace=True)解析
分析題目,發(fā)現(xiàn)解決問題的關鍵在于將df對象中的數(shù)據(jù)按“商品編碼”從大到小排列。df對象中的數(shù)據(jù)采用DataFrame結(jié)構組織,因此可以使用sort_values()函數(shù)按“商品編碼”降序排列df對象中的數(shù)據(jù)。參數(shù)ascending=False為降序,inplace=True排序結(jié)果替換df中數(shù)據(jù),因此本題答案為D。D典例5小藍利用Excel收集了某次足球比賽各國球隊相關數(shù)據(jù),并保存為“足球賽.xlsx”文件,如圖a所示。然后他利用pandas模塊進行數(shù)據(jù)處理,分析小組賽中各支球隊的表現(xiàn)。(提示:該比賽共分成8個小組,每個小組4支球隊,組內(nèi)各隊之間進行一場比賽,每支球隊共比賽3場)圖a(1)(多選題)小藍在處理數(shù)據(jù)前,首先進行了數(shù)據(jù)整理,則下列步驟正確的是()(注:全部選對的得2分,選對但不全的得1分,不選或錯選的得0分)A.E4單元格中的數(shù)據(jù)存在邏輯錯誤,需要改成3B.第7行和第8行兩行數(shù)據(jù)重復,直接刪除其中一行即可C.英格蘭隊的所在行存在數(shù)據(jù)缺失,故無法確定具體數(shù)值D.阿根廷所在小組的組別格式不一致,應當將其改成CAD(2)小藍利用pandas模塊處理圖a中的表格數(shù)據(jù),其中部分Python程序代碼如下。在處理數(shù)據(jù)的過程中,小藍提出了以下三項要求。請根據(jù)他的要求在劃線處填入合適的代碼。①首先計算各球隊的小組賽積分。積分計算規(guī)則為:勝一場得3分,平局得1分,負一場得0分。②然后對各球隊進行小組排名。小組排名規(guī)則為:按積分降序排序。③最后統(tǒng)計各小組的平均進球數(shù),并繪制成如圖b所示的圖表。圖bimportpandasaspdimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=\
['SimSun']#設置字體為宋體df=pd.read_excel('足球賽.xlsx')df['積分']=①____________________________dfrank=df.sort_values(②_________,\ascending=False)
print(dfrank)df2=df.groupby(″組別″).mean()plt.bar(③________________________,label=″平均\進球″)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度林業(yè)用地租賃合同書范本(2025升級版)
- 2025年度高空作業(yè)泥水工專業(yè)服務合同范本4篇
- 臨沂教師職業(yè)聘用合同書2024年版版
- 環(huán)保項目投資與建設的2025年度合同3篇
- 2025年度木屋別墅建筑與園林景觀設計施工合同4篇
- 2025年版機動車質(zhì)押擔保貸款合同范本3篇
- 2025年度智能家電電商定制購銷服務合同4篇
- 二零二五版內(nèi)墻涂料綠色工廠建設與運營管理合同4篇
- 2025年度城市綠化測繪合同范本2篇
- 二零二五年度出口貿(mào)易保險理賠合同范本3篇
- 小學網(wǎng)管的工作總結(jié)
- 2024年銀行考試-興業(yè)銀行筆試參考題庫含答案
- 泵站運行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學校中考一模數(shù)學試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術標準》
- 第19章 一次函數(shù) 單元整體教學設計 【 學情分析指導 】 人教版八年級數(shù)學下冊
- 浙教版七年級下冊科學全冊課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計算公式測量方法
- DB32-T 4004-2021水質(zhì) 17種全氟化合物的測定 高效液相色譜串聯(lián)質(zhì)譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術規(guī)范
評論
0/150
提交評論