Python數(shù)據(jù)可視化(微課版) 課件 第3章 Python的數(shù)據(jù)讀取與處理_第1頁
Python數(shù)據(jù)可視化(微課版) 課件 第3章 Python的數(shù)據(jù)讀取與處理_第2頁
Python數(shù)據(jù)可視化(微課版) 課件 第3章 Python的數(shù)據(jù)讀取與處理_第3頁
Python數(shù)據(jù)可視化(微課版) 課件 第3章 Python的數(shù)據(jù)讀取與處理_第4頁
Python數(shù)據(jù)可視化(微課版) 課件 第3章 Python的數(shù)據(jù)讀取與處理_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

主講人:AiPPT時(shí)間:20XX.XXPOWERPOINTDESIGN202XPowerPointDesign------------------Python的數(shù)據(jù)讀取與處理Python數(shù)據(jù)讀取與查看01Python數(shù)據(jù)清洗02Pandas讀取與處理表格數(shù)據(jù)03NumPy處理數(shù)據(jù)04scikit-learn處理數(shù)據(jù)05目錄--------------PowerPointDesignPython數(shù)據(jù)讀取與查看01PARTPOWERPOINTDESIGNPython中使用open函數(shù)進(jìn)行文件讀寫。例如,使用open('filename.txt','r')讀取文件,open('filename.txt','w')寫入文件。使用with語句可自動(dòng)關(guān)閉文件,如withopen('filename.txt','r')asf:。文件讀寫操作默認(rèn)使用系統(tǒng)編碼,一般為utf8??墒褂胑ncoding參數(shù)設(shè)置編碼方式,如open('filename.txt','wt',encoding='ascii')。遇到編碼錯(cuò)誤可使用errors='ignore'或errors='replace'參數(shù)處理。讀寫字節(jié)數(shù)據(jù)讀寫字節(jié)數(shù)據(jù)如圖片、音頻時(shí),使用'rb'和'wb'模式。例如,withopen('filename.bin','rb')asf:讀取字節(jié)數(shù)據(jù),withopen('filename.bin','wb')asf:寫入字節(jié)數(shù)據(jù)。從字節(jié)數(shù)據(jù)中讀寫文本需編碼和解碼。如withopen('filename.bin','rb')asf:后使用.decode('utf-8')讀取文本,寫入時(shí)使用.encode('utf-8')。02文件讀寫操作01Python的文件讀寫Python中使用pickle模塊實(shí)現(xiàn)對(duì)象序列化和反序列化。例如,pickle.dump(l1,f1)序列化對(duì)象l1到文件f1,pickle.load(f2)從文件f2反序列化對(duì)象。pickle模塊中的dump和dumps方法區(qū)別在于dumps將對(duì)象存儲(chǔ)為字符串,對(duì)應(yīng)的loads()用于反序列化。大部分Python對(duì)象可通過這種方式存儲(chǔ)和加載,但一些特殊對(duì)象如進(jìn)程對(duì)象、網(wǎng)絡(luò)連接對(duì)象等無法序列化。使用pickle模塊對(duì)象序列化CSV文件以純文本形式存儲(chǔ)表格數(shù)據(jù),由記錄組成,記錄之間以換行符分隔,每條記錄中是字段。Python的csv模塊用于操作本地CSV文件。讀取網(wǎng)絡(luò)資源中的CSV文件時(shí),可先下載到本地或轉(zhuǎn)換為StringIO對(duì)象操作。使用csv.DictReader可將CSV的每一行作為字典返回,csv.reader則把每一行作為列表返回。寫入CSV文件時(shí),使用csv.writer的writerow()方法寫入一行,writerows()方法寫入多行。CSV文件操作CSV的讀寫在Python中使用數(shù)據(jù)庫需通過特定程序模塊(API)實(shí)現(xiàn)。以MySQL為例,使用PyMySQL模塊連接數(shù)據(jù)庫。首先安裝模塊,創(chuàng)建數(shù)據(jù)庫和用戶,然后使用pymysql.connect()連接數(shù)據(jù)庫,執(zhí)行SQL語句進(jìn)行操作,最后關(guān)閉連接。SQLite3是一種輕量型關(guān)系型數(shù)據(jù)庫系統(tǒng),Python內(nèi)置sqlite3模塊用于交互。使用sqlite3.connect()連接數(shù)據(jù)庫,執(zhí)行SQL語句創(chuàng)建表和插入數(shù)據(jù),使用commit()提交操作,最后關(guān)閉連接。不同數(shù)據(jù)庫類型使用的通配符可能不同,操作完畢后需關(guān)閉數(shù)據(jù)庫連接。使用PyMySQL和SQLite3數(shù)據(jù)庫的使用--------------PowerPointDesignPython數(shù)據(jù)清洗02PARTPOWERPOINTDESIGN處理方法對(duì)于缺失值,可忽略有缺失值的數(shù)據(jù),刪除存在缺失項(xiàng)的記錄或缺失值過多的屬性列,但可能損失大量數(shù)據(jù)。也可進(jìn)行缺失值填補(bǔ),填補(bǔ)某一固定值、平均值或根據(jù)記錄填充最有可能值,最有可能值的確定可利用決策樹、回歸分析等方法。缺失值處理處理技術(shù)分箱技術(shù)通過考察相鄰數(shù)據(jù)確定最終值,實(shí)現(xiàn)異?;蛟肼晹?shù)據(jù)的平滑處理?;舅枷胧前磳傩灾祫澐肿訁^(qū)間,將數(shù)據(jù)放入對(duì)應(yīng)“箱子”內(nèi),然后按箱平均值、中值、邊界值等方法對(duì)數(shù)據(jù)進(jìn)行平滑處理。聚類技術(shù)將數(shù)據(jù)集合分組為多個(gè)簇,找出并清除落在簇之外的孤立點(diǎn),這些孤立點(diǎn)被視為噪聲。回歸技術(shù)通過發(fā)現(xiàn)兩個(gè)相關(guān)變量之間的關(guān)系,建立數(shù)學(xué)模型預(yù)測下一個(gè)數(shù)值,包括線性回歸和非線性回歸,用于平滑數(shù)據(jù)。噪聲數(shù)據(jù)處理處理方案對(duì)于數(shù)據(jù)不一致性問題,需根據(jù)實(shí)際情況給出處理方案??墒褂孟嚓P(guān)材料人工修復(fù),用知識(shí)工程的工具修改違反給定規(guī)則的數(shù)據(jù)。在多個(gè)數(shù)據(jù)源集成處理時(shí),對(duì)不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)化,解決編碼規(guī)則差異問題。不一致數(shù)據(jù)的處理處理方法異常數(shù)據(jù)如字符編碼問題引起的亂碼、字符被截?cái)?、異常的?shù)值等,大部分情況難以修正,只能過濾。但有些異常數(shù)據(jù)可還原,如原字符中摻雜無用字符可用取子串方法處理,字符被截?cái)嗟那闆r若能推導(dǎo)出原字符串也可還原。數(shù)值記錄中異常大或小的值可分析是否數(shù)值單位差異引起,通過轉(zhuǎn)化處理,數(shù)值單位差異也可視為數(shù)據(jù)的不一致性。異常數(shù)據(jù)的處理--------------PowerPointDesignPandas讀取與處理表格數(shù)據(jù)03PARTPOWERPOINTDESIGN支持的數(shù)據(jù)格式Pandas支持多種格式數(shù)據(jù)讀取,包括CSV、Excel、SQL數(shù)據(jù)庫和JSON。讀取CSV文件使用pd.read_csv('example.csv'),讀取Excel文件第一個(gè)工作表使用pd.read_excel('example.xlsx',sheet_name=0),讀取JSON文件使用pd.read_json('example.json')。還可只讀取特定列,如pd.read_csv('example.csv',usecols=['Column1','Column2']),跳過文件開頭的行,如pd.read_csv('example.csv',skiprows=2),將特定字符串視為缺失值,如pd.read_csv('example.csv',na_values=['NA'])。讀取表格數(shù)據(jù)在數(shù)據(jù)可視化項(xiàng)目中,常需將不同來源的數(shù)據(jù)集合并為統(tǒng)一數(shù)據(jù)結(jié)構(gòu)。Pandas提供pd.concat()、pd.merge()和df.join()等函數(shù)實(shí)現(xiàn)數(shù)據(jù)合并和連接。pd.concat()用于沿軸堆疊多個(gè)對(duì)象,如pd.concat([df1,df2],ignore_index=True)。pd.merge()適用于數(shù)據(jù)庫連接操作,如pd.merge(left,right,on='key',how='left')。df.join()用于按索引合并不同索引的DataFrame,如left.join(right,how='outer')。數(shù)據(jù)合并與連接處理表格數(shù)據(jù)--------------PowerPointDesignNumPy處理數(shù)據(jù)04PARTPOWERPOINTDESIGNndarray對(duì)象NumPy是開源Python庫,支持大量維度數(shù)組與矩陣運(yùn)算,提供數(shù)學(xué)函數(shù)庫。NumPy核心是ndarray對(duì)象,由Python的n維數(shù)組封裝而來,通過C語言預(yù)編譯數(shù)組操作,比原生Python執(zhí)行效率高,但使用Python語言編碼。ndarray與數(shù)組區(qū)別在于元素類型相同且創(chuàng)建時(shí)大小固定。創(chuàng)建數(shù)組最簡單方式是使用array函數(shù),如np.array([1,2,3])創(chuàng)建一維數(shù)組,np.array([[1,2,3],[4,5,6]])創(chuàng)建二維數(shù)組。數(shù)組屬性包括ndarray.ndim(數(shù)組維數(shù))、ndarray.shape(數(shù)組形狀)、ndarray.size(數(shù)組中元素總數(shù))和ndarray.dtype(數(shù)組元素類型)。NumPy庫介紹常見操作NumPy數(shù)組可進(jìn)行索引、切片和迭代操作。還可使用一系列數(shù)學(xué)函數(shù)直接在數(shù)組上操作,如加減乘除、平方根、指數(shù)、對(duì)數(shù)等。例如,數(shù)組加法c+d,數(shù)組乘法c*d。對(duì)于數(shù)組合并,使用np.concatenate()方法,如np.concatenate((a1,a2))合并數(shù)組,np.concatenate((a1,a2),axis=1)指定合并的軸。數(shù)組操作--------------PowerPointDesignscikit-learn處理數(shù)據(jù)05PARTPOWERPOINTDESIGN數(shù)據(jù)處理功能Scikit-learn是廣泛使用的Python機(jī)器學(xué)習(xí)庫,建立在NumPy、SciPy和matplotlib之上,提供數(shù)據(jù)挖掘和分析工具。自帶多個(gè)數(shù)據(jù)集,如鳶尾花數(shù)據(jù)集load_iris()、手寫數(shù)字?jǐn)?shù)據(jù)集load_digitals()等。不直接從文件讀取數(shù)據(jù),通常與Pandas結(jié)合使用處理任務(wù)。提供預(yù)處理庫preprocessing,包括標(biāo)準(zhǔn)化、編碼分類特征、處理缺失值、特征選擇等功能。標(biāo)準(zhǔn)化將特征數(shù)據(jù)縮放至均值為0、方差為1,如StandardScaler().fit_transform(X)。編碼分類特征將分類特征轉(zhuǎn)換為數(shù)值數(shù)據(jù),如OneHotEncoder().fit_transform(X).toarray()。處理缺失值使用SimpleImputer填充缺失值,如SimpleImputer(missing_values=np.nan,strategy='m

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論