《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案—10用Pandas進(jìn)行數(shù)據(jù)預(yù)處理_第1頁(yè)
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案—10用Pandas進(jìn)行數(shù)據(jù)預(yù)處理_第2頁(yè)
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案—10用Pandas進(jìn)行數(shù)據(jù)預(yù)處理_第3頁(yè)
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案—10用Pandas進(jìn)行數(shù)據(jù)預(yù)處理_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)采集與預(yù)處理教 案NO. 10教師姓名授課班級(jí)授課形式理實(shí)一體化授課時(shí)間年 月 日第周授課時(shí)數(shù)4授課章節(jié)名稱任務(wù)3用Pandas進(jìn)行數(shù)據(jù)預(yù)處理教學(xué)目的(1)熟悉Pandas的相關(guān)基礎(chǔ)知識(shí)。(2)學(xué)會(huì)使用Pandas完成“北京公交線路信息”數(shù)據(jù)的預(yù)處理。教材分析教學(xué)重點(diǎn)使用Pandas完成“北京公交線路信息”數(shù)據(jù)的預(yù)處理教學(xué)難點(diǎn)使用Pandas完成“北京公交線路信息”數(shù)據(jù)的預(yù)處理更新、補(bǔ)充、刪節(jié)內(nèi)容課外作業(yè)積極動(dòng)手實(shí)踐, 熟練完成相關(guān)任務(wù)的實(shí)施操作教學(xué)提示教學(xué)過(guò)程一、知識(shí)痛*:無(wú)論是對(duì)于數(shù)據(jù)分析還是數(shù)據(jù)挖掘而言,Pandas都是一個(gè)非常重要的 Python包c(diǎn)它不僅提供了很多方法,使數(shù)據(jù)處理

2、非游簡(jiǎn)單,還在數(shù)據(jù)處理 速度上做了很多優(yōu)化,使得其和Python內(nèi)近方法相比有很大的優(yōu)勢(shì)。1 .導(dǎo)入數(shù)據(jù)pd.read_csv(filename):從 CSV 文件中導(dǎo)入數(shù)據(jù)opd.read_table(filename):從限定分隔符的文本文件中導(dǎo)入數(shù)據(jù)。pd.read_excel(filename):從 Excel 文件中導(dǎo)入數(shù)據(jù)。pd.read_sql(query, connection_object):從 SQL 表/庫(kù)中導(dǎo)入數(shù)據(jù)。pd.read_json(json_string):從JSON格式的字符串中導(dǎo)入數(shù)據(jù)。pd.readitml(url):解析URL、字符串或HTML文件,抽

3、取其中的tables。 pd.read_clipboard():從粘貼板中獲取內(nèi)容,并傳送給read_table()o pd.DataFrame(dict):從字典對(duì)頊中導(dǎo)入數(shù)據(jù),Key表示列名,Value 表示數(shù)據(jù)2 .導(dǎo)出數(shù)據(jù)df.to_csv(filename):導(dǎo)出數(shù)據(jù)到CSV文件中。df.to_excel(filename):導(dǎo)出數(shù)據(jù)到 Excel 文件中。df.to_sql(table_name, connection_object):導(dǎo)出數(shù)據(jù)到 SQL 表中。df.tojson(filename):以JSON格式導(dǎo)出數(shù)據(jù)到文本文件中。3 .創(chuàng)戲測(cè)試對(duì)象pd.DataFrame(n

4、p.random.rand(20,5):創(chuàng)4 20 行 5 列的、由隨機(jī)數(shù)組 成的DataFrame對(duì)象。pd.Series(myist):從可迭代對(duì)頊 myjist中創(chuàng)建一個(gè)Series對(duì)頊。df.index = pd.date_range('1900/1/30', periods = df.shape0):增加一個(gè)日 期索弓I。4 .查看、檢查數(shù)據(jù)df.head(n):查看DataFrame對(duì)景的前n彳亍。df.tail(n):查看DataFrame對(duì)項(xiàng)的最后彳亍。df.shape():查看彳亍數(shù)和列數(shù)g():查看索引、數(shù)據(jù)類型和內(nèi)存信息gdf.d

5、escribe():查看數(shù)值型列的匯總統(tǒng)計(jì)。5 .vakie_counts(dropna=False):查看 Series 對(duì)象的唯一值和計(jì)數(shù)。df.apply(pd.Series.value_counts):查看 DataFrame 對(duì)頊中每一列的唯 一值和計(jì)數(shù)G5 .數(shù)據(jù)選取dfcol:根據(jù)列名,以Series的形式返回列。dfcoll, col2:以 DataFrame 的形式返回多列。5.110 c0:按位五選取數(shù)據(jù)。5.111 findex-one*:按索引選取數(shù)據(jù)°df.iloc0,:返回第一行。df.iloc0.0:返回第一列的第一個(gè)元素。6 .數(shù)據(jù)清理df.cokim

6、ns = aW/c1:重命名列名。pd.isnull():檢查DataFrame對(duì)頊中的空值.并返回一個(gè)Boolean數(shù)組。pd.notnullO:檢查 DataFrame對(duì)冢中的非空值.并返回一個(gè) Boolean 數(shù)組。df.dropna():刪除所有包含空值的行。df.dropna(axis=l):刪除所有包含空值的列。df.dropna(axis=Lthresh=n):保鉗至少有n個(gè)非空值的行。df.fillna(x):用x替換DataFrame對(duì)瓊中的所有空值。s.astype(float):將Series中的數(shù)據(jù)類型更改為float類型0s.replaceCl/one1):用'

7、;one'代替所有等于1的值。s.replace(l,3,'one','three'):用'one'代替 1,用'three'代替 3。 df.rename(columns=lambda x: x + 1):批處更改列名。df.rename(cokimns=,old_name,: ,new_name,):選擇性更改列名。df.set_index( column-one1):更改索弓I列。df.rename(index=lambda x: x + 1):批勢(shì)里命名索弓I。7 .數(shù)據(jù)處理dfdfcol > 0.5:選擇c

8、ol列的值大于0.5的彳亍。df.sort-ValuesCcoll):按照coll列排序數(shù)據(jù).默認(rèn)升序排列。df.sort-vakies(col 1, ascending=False):按照 coll 列降序排列數(shù)據(jù), df.sort-vakiesdcol 1 ,co12, ascending=True,False):先按 coll 列升序排 列數(shù)據(jù),再按col2列降序排列數(shù)據(jù)。df.groupby(col):返回一個(gè)按col列進(jìn)彳亍分組的GroupBy對(duì)頊。df.groupby(col 1 ,col2):返回一個(gè)按多列進(jìn)行分組的GroupBy對(duì)象。df.groupby(coll)co!2:返

9、回按coll列進(jìn)彳亍分組后,col2列的均值。df.pivot_table(index=col 1, values=coI2,col3, aggfunc=max):創(chuàng)延一個(gè) 按coll列進(jìn)行分組. 并計(jì)算col2和coI3的最大值的數(shù)據(jù)透視表。df.groupby(col 1 ).agg(np.mean):返回按coll列分組的所有列的均值: data.apply(np.mean):對(duì) DataFrame 中的每一列應(yīng)用 函數(shù) np.meano data.apply(np.max,axis=l) DataFrame 中的每一行應(yīng)用函數(shù) np.maxo 8.數(shù)據(jù)合并dfl.append(df2)

10、:將df2中的行添加到dfl的尾部。df.concat(dfl, df2,axis=l):將 df2 中的列添加到 dfl 的尾部°df 1 .join(df2,on=col 1 ,how='innef):對(duì) dfl 列和 df2 列執(zhí)行 SQL 形式的連 接G9 .數(shù)據(jù)統(tǒng)計(jì)df.describe():查看數(shù)據(jù)值列的匯總統(tǒng)計(jì)。df.mean():返回所有列的均值0df.corr():返回列與列之間的相關(guān)系數(shù)。df.count():返回每一列中的非空值的個(gè)數(shù)。df.max():返回每一列的最大值0df.niin():返回每一列的原小值。df.median():返回每一列的中位數(shù)

11、。df.std():返回每一列的標(biāo)準(zhǔn)差。二.任務(wù)實(shí)施:1 .創(chuàng)建數(shù)據(jù)文件創(chuàng)戲pandas_info.py文件,并將其導(dǎo)入Pandas庫(kù)2 .讀取數(shù)據(jù)文件圖4-6所示為使用Pandas的read_csv()方法讀取CSV格式的文件,其 中,delimiter參數(shù)指定了數(shù)據(jù)文件的分隔符,encoding參數(shù)指定了數(shù)據(jù)文 件的編碼,names參數(shù)指定了數(shù)據(jù)的列索弓I。 - pd. reacLcsrlielimi. encoding1佳彳'圖4-6讀取數(shù)據(jù)文件3 .對(duì)數(shù)據(jù)進(jìn)行去更及去空處理如圖4-7所示,Pandas的drop_duplicates()方法用于去除數(shù)據(jù)中的重復(fù) 項(xiàng),reset_index()方法用于還原索弓I為默認(rèn)的整型索弓I (使用此方法的原 因是.前面的去里或去空會(huì)清洗掉一些數(shù)據(jù),但數(shù)據(jù)的索弓I仍然被保鉗著, 導(dǎo)致那一行數(shù)據(jù)為空,會(huì)影響清洗攆作),drop。方法用于刪除數(shù)據(jù)中名為 index的一列(axis=l為列,默認(rèn)為行),dropna。方法用于去除數(shù)據(jù)中含 有任意空數(shù)據(jù)的一行數(shù)據(jù)。bus_mfo2 = bus_info. drop_duplicat

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論