計(jì)算機(jī)的核心功能是計(jì)算,而計(jì)算依賴于數(shù)據(jù)。在大數(shù)據(jù)時(shí)代,數(shù)據(jù)處理成為這一核心功能的最直接體現(xiàn)。面對(duì)海量的數(shù)據(jù),傳統(tǒng)的手工操作已經(jīng)不能滿足人們?nèi)粘I詈凸ぷ魉,因此?shù)據(jù)處理方法正在經(jīng)歷一場(chǎng)新的革命。本書以Python語(yǔ)言為基礎(chǔ),旨在替代Excel中的手工數(shù)據(jù)處理操作,介紹一種全新的數(shù)據(jù)處理方法。使用Python語(yǔ)言,只需要幾行代碼就可以輕松解決問題,特別是在任務(wù)重復(fù)性很高的情況下,只要略微改動(dòng)代碼,即可顯著節(jié)省時(shí)間,提高工作效率。
Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮奶匦。Python最初被設(shè)計(jì)用于編寫自動(dòng)化腳本,但隨著版本的更新和新功能的增加,它已經(jīng)廣泛應(yīng)用于獨(dú)立和大型項(xiàng)目的開發(fā)。
在實(shí)際應(yīng)用中,如何將Excel與Python語(yǔ)言相結(jié)合進(jìn)行數(shù)據(jù)處理,是數(shù)據(jù)分析從業(yè)者需要掌握的關(guān)鍵技能。雖然Excel是數(shù)據(jù)處理的專業(yè)軟件,但其在自動(dòng)化操作方面不如Python靈活。利用Python可以輕松地讀取、計(jì)算和編輯Excel文件中的數(shù)據(jù),從而提高數(shù)據(jù)分析工作的效率。
本書主要講述如何利用Python處理Excel文件,從而進(jìn)行數(shù)據(jù)分析以及可視化等操作。通過學(xué)習(xí),讀者可以顯著提高辦公效率,并將所學(xué)知識(shí)應(yīng)用到實(shí)際工作中。
本書內(nèi)容共分為8章。
第1章介紹了Python語(yǔ)言的基礎(chǔ)知識(shí)。
第2章介紹了xlrd庫(kù)和xlwt庫(kù),用于處理.xls文件。
第3章介紹了xlwings庫(kù),用于處理.xlsx文件。
第4章介紹了pandas庫(kù),專注于數(shù)據(jù)處理。
第5章介紹了matplotlib庫(kù),用于數(shù)據(jù)可視化。
第6章介紹了tkinter庫(kù),用于窗口視窗設(shè)計(jì)。
第7章介紹了openpyxl庫(kù),用于簡(jiǎn)單的Excel文件讀寫操作。
第8章介紹了數(shù)據(jù)預(yù)處理。
由于編者水平有限,加之時(shí)間倉(cāng)促,書中難免存在不當(dāng)之處,懇請(qǐng)廣大讀者批評(píng)指正。
本書提供程序源碼、教學(xué)素材和教學(xué)案例配套資源,其中程序源碼和教學(xué)素材可掃描目錄上方對(duì)應(yīng)二維碼獲取,教學(xué)案例需到清華大學(xué)出版社官方網(wǎng)站本書頁(yè)面獲取。
編者2025年1月
第1章Python基礎(chǔ)
1.1Python語(yǔ)言介紹
1.2Python語(yǔ)言特點(diǎn)
1.3Python應(yīng)用領(lǐng)域
1.3.1數(shù)據(jù)爬蟲
1.3.2Web開發(fā)
1.3.3軟件測(cè)試
1.3.4運(yùn)維管理
1.3.5人工智能
1.3.6數(shù)據(jù)分析
1.4Python開發(fā)環(huán)境搭建
1.4.1Python軟件下載(Windows系統(tǒng))
1.4.2Python軟件的安裝
1.4.3Python軟件的使用
1.5循環(huán)語(yǔ)句
1.5.1for循環(huán)語(yǔ)句
1.5.2while循環(huán)
1.6條件語(yǔ)句
1.6.1簡(jiǎn)單條件語(yǔ)句(if)
1.6.2二分支條件語(yǔ)句(ifelse)
1.6.3多分支條件語(yǔ)句(ifelifelse)
1.7列表
1.8字典
1.9Python文件打包輸出
1.9.1文件打包輸出
1.9.2設(shè)置打包文件圖標(biāo)
1.10本章總結(jié)
第2章xlrd庫(kù)和xlwt庫(kù)
2.1創(chuàng)建工作簿
2.1.1新工作簿的創(chuàng)建
2.1.2添加工作表
2.2讀取工作簿
2.3讀取工作表
2.3.1以工作表名稱讀取工作表
2.3.2以工作表序號(hào)讀取工作表
2.3.3以索引方式讀取工作表
2.4讀取單元格
2.4.1指定行讀取單元格數(shù)據(jù)
2.4.2指定列讀取單元格數(shù)據(jù)
2.4.3指定行、列讀取單元格數(shù)據(jù)
2.5寫入數(shù)據(jù)
2.5.1寫入單元格數(shù)據(jù)
2.5.2寫入行數(shù)據(jù)
2.5.3寫入列數(shù)據(jù)
2.5.4寫入多行多列數(shù)據(jù)
2.6讀取數(shù)據(jù)
2.6.1讀取單元格數(shù)據(jù)
2.6.2讀取行數(shù)據(jù)
2.6.3讀取列數(shù)據(jù)
2.6.4讀取所有數(shù)據(jù)
2.7修改數(shù)據(jù)
2.7.1修改單元格數(shù)據(jù)
2.7.2修改行數(shù)據(jù)
2.7.3修改列數(shù)據(jù)
2.8插入數(shù)據(jù)
2.8.1插入行數(shù)據(jù)
2.8.2插入列數(shù)據(jù)
2.9刪除數(shù)據(jù)
2.9.1刪除單元格數(shù)據(jù)
2.9.2刪除行數(shù)據(jù)
2.9.3刪除列數(shù)據(jù)
2.9.4刪除指定范圍數(shù)據(jù)
2.10數(shù)據(jù)操作相關(guān)內(nèi)容
2.10.1獲取工作表的總行數(shù)
2.10.2獲取工作表的總列數(shù)
2.10.3獲取工作簿中工作表的數(shù)量
2.10.4獲取工作簿中所有工作表的名稱
2.11數(shù)據(jù)類型獲取
2.11.1獲取單元格的數(shù)據(jù)類型
2.11.2獲取行的數(shù)據(jù)類型
2.11.3獲取列的數(shù)據(jù)類型
2.12數(shù)據(jù)計(jì)算
2.12.1工作表中數(shù)據(jù)計(jì)算
2.12.2工作表中公式寫入
2.13格式設(shè)置
2.13.1設(shè)置行高和列寬
2.13.2設(shè)置字體屬性(Font)
2.13.3設(shè)置邊框?qū)傩?Borders)
2.13.4設(shè)置對(duì)齊屬性(Alignment)
2.13.5設(shè)置背景屬性(Pattern)
2.13.6合并單元格
2.14xlrd庫(kù)常用函數(shù)匯總
2.15xlwt庫(kù)常用函數(shù)匯總
2.16本章總結(jié)
第3章xlwings庫(kù)
3.1啟動(dòng)/退出操作
3.1.1啟動(dòng)Excel程序
3.1.2退出Excel程序
3.2工作簿(Book)操作
3.2.1創(chuàng)建工作簿
3.2.2打開工作簿
3.2.3保存工作簿
3.2.4關(guān)閉工作簿
3.2.5退出工作簿
3.2.6工作簿名稱
3.2.7工作簿地址
3.3工作表(Sheet)操作
3.3.1創(chuàng)建工作表
3.3.2追加工作表
3.3.3打開工作表
3.3.4調(diào)用工作表
3.3.5工作表相關(guān)操作
3.4數(shù)據(jù)操作
3.4.1寫入數(shù)據(jù)
3.4.2修改數(shù)據(jù)
3.4.3插入數(shù)據(jù)
3.4.4讀取數(shù)據(jù)
3.4.5刪除數(shù)據(jù)
3.5范圍(Range)操作
3.5.1范圍的相關(guān)數(shù)據(jù)
3.5.2范圍的相關(guān)操作
3.5.3范圍的格式自適應(yīng)
3.6單元格操作
3.6.1單元格的相關(guān)數(shù)據(jù)
3.6.2設(shè)置超鏈接
3.6.3合并單元格
3.7格式設(shè)置
3.7.1設(shè)置字體(Font)
3.7.2設(shè)置邊框(Borders)
3.7.3設(shè)置位置(Alignment)
3.7.4設(shè)置顏色(Color)
3.8本章總結(jié)
第4章pandas庫(kù)
4.1創(chuàng)建文件
4.1.1創(chuàng)建工作簿
4.1.2填寫數(shù)據(jù)
4.1.3設(shè)置索引
4.2讀取文件
4.2.1以工作表名稱讀取文件
4.2.2讀取文件并設(shè)置索引
4.2.3讀取文件并隱藏標(biāo)題
4.3寫入數(shù)據(jù)
4.3.1寫入單元格數(shù)據(jù)
4.3.2寫入整行數(shù)據(jù)
4.3.3寫入整列數(shù)據(jù)
4.3.4寫入整行整列數(shù)據(jù)
4.3.5寫入.csv文件
4.3.6寫入.tsv文件
4.3.7寫入.txt文件
4.3.8填充日期序列
4.3.9填充年份序列
4.3.10填充月份序列
4.4讀取數(shù)據(jù)
4.4.1讀取單元格數(shù)據(jù)
4.4.2讀取整行數(shù)據(jù)
4.4.3讀取整列數(shù)據(jù)
4.4.4讀取部分?jǐn)?shù)據(jù)
4.4.5讀取列數(shù)據(jù)至列表
4.4.6讀取行數(shù)據(jù)至列表
4.5修改數(shù)據(jù)
4.5.1修改列標(biāo)題
4.5.2修改單元格數(shù)據(jù)
4.5.3替換整行數(shù)據(jù)
4.5.4替換整列數(shù)據(jù)
4.6插入數(shù)據(jù)
4.6.1插入整行數(shù)據(jù)
4.6.2插入整列數(shù)據(jù)
4.7刪除數(shù)據(jù)
4.7.1刪除整行數(shù)據(jù)
4.7.2刪除整列數(shù)據(jù)
4.7.3有條件刪除整行數(shù)據(jù)
4.8工作表中數(shù)據(jù)的行數(shù)和列數(shù)
4.8.1獲取工作表的行數(shù)和列數(shù)
4.8.2獲取工作表的行數(shù)
4.8.3獲取工作表的列數(shù)
4.9數(shù)據(jù)計(jì)算
4.9.1公式計(jì)算
4.9.2函數(shù)填充(求和)
4.9.3函數(shù)填充(計(jì)算平均值)
4.10文件類型轉(zhuǎn)換
4.10.1讀取.csv文件內(nèi)容到Excel文件中
4.10.2讀取.tsv文件內(nèi)容到Excel文件中
4.10.3讀取.txt文件內(nèi)容到Excel文件中
4.11合并工作表
4.11.1將工作表合并
4.11.2合并工作表(列的方式)
4.12數(shù)據(jù)統(tǒng)計(jì)與分析
4.12.1升序排序
4.12.2降序排序
4.12.3多重排序
4.12.4數(shù)據(jù)篩選
4.12.5數(shù)據(jù)分類匯總(按字符型匯總)
4.12.6數(shù)據(jù)分類匯總(按數(shù)值型匯總)
4.12.7創(chuàng)建數(shù)據(jù)透視表
4.12.8數(shù)據(jù)透視表分組
4.13本章總結(jié)
第5章數(shù)據(jù)可視化
5.1matplotlib基礎(chǔ)
5.1.1創(chuàng)建繪圖窗口(figure()函數(shù))
5.1.2建立單個(gè)子圖(subplot()函數(shù))
5.1.3設(shè)置坐標(biāo)軸線
5.1.4建立多個(gè)子圖(一)
5.1.5建立多個(gè)子圖(二)
5.1.6繪制一條直線
5.1.7繪制多條直線
5.1.8繪制曲線
5.1.9添加圖例
5.1.10設(shè)置布局
5.1.11共享軸線
5.1.12共享X軸(twinx()函數(shù))
5.1.13共享Y軸(twiny()函數(shù))
5.1.14設(shè)置圖形邊界及數(shù)軸位置
5.1.15設(shè)置圖表與邊界距離(subplot_adjust())
5.1.16填充顏色(subplot())
5.2柱狀圖(bar())
5.2.1繪制普通柱狀圖
5.2.2繪制分組柱狀圖
5.2.3繪制疊加柱狀圖
5.3餅圖(pie())
5.3.1繪制普通餅圖
5.3.2餅圖優(yōu)化
5.3.3繪制環(huán)形圖
5.4折線圖(plot())
5.4.1繪制折線圖
5.4.2折線圖優(yōu)化
5.4.3繪制多折線圖
5.4.4繪制疊加折線圖(area())
5.5散點(diǎn)圖(scatter())
5.5.1繪制散點(diǎn)圖
5.5.2繪制氣泡圖
5.6面積圖(area())
5.6.1繪制面積圖
5.6.2繪制疊加區(qū)域圖
5.7直方圖(hist())
5.7.1繪制直方圖
5.7.2直方圖優(yōu)化
5.8密度圖(density())
5.8.1繪制密度圖
5.8.2密度圖優(yōu)化
5.9雷達(dá)圖
5.10數(shù)據(jù)透視表
5.11本章總結(jié)
第6章界面設(shè)計(jì)tkinter庫(kù)
6.1常用窗口組件及簡(jiǎn)要說明
6.2常用窗口組件設(shè)置
6.3有關(guān)錨定點(diǎn)說明
6.4窗體
6.4.1創(chuàng)建窗體1
6.4.2創(chuàng)建窗體2
6.4.3創(chuàng)建窗體3
6.4.4創(chuàng)建窗體4
6.5標(biāo)簽(Label)
6.6單行文本框(Entry)
6.7多行文本框(Text)
6.7.1創(chuàng)建多行文本框
6.7.2定位多行文本框內(nèi)容位置
6.7.3設(shè)置多行文本框內(nèi)容格式
6.8命令按鈕(Button)
6.9單選按鈕(Radiobutton)
6.10復(fù)選框(Checkbutton)
6.11列表框(Listbox)
6.12滾動(dòng)條(Scrollbar)
6.13進(jìn)度條(Scale)
6.14框架(Frame)
6.15消息框(messageBox)
6.15.1建立錯(cuò)誤消息框
6.15.2建立警告消息框
6.15.3建立提示消息框
6.15.4建立選擇對(duì)話框
6.16菜單條(Menu)
6.16.1創(chuàng)建菜單
6.16.2實(shí)現(xiàn)字體與字號(hào)聯(lián)動(dòng)
6.17菜單按鈕(Menubutton)
6.18選擇菜單(OptionMenu)
6.19形狀控制(Canvas)
6.19.1畫布上建立組件
6.19.2畫布上移動(dòng)組件
6.20窗口布局管理(PanedWindow)
6.20.1創(chuàng)建子控件(兩個(gè))
6.20.2創(chuàng)建子控件(三個(gè))
6.21頂層(Toplevel)
6.22窗口布局綜述
6.22.1生成組件填充窗口
6.22.2縱向排列組件
6.22.3橫向排列組件
6.22.4按行列排列組件(grid)
6.22.5跨行跨列排列組件
6.22.6組件精準(zhǔn)布局(place)
6.22.7組件相互覆蓋
6.22.8組件相對(duì)位置和相對(duì)尺寸
6.23本章總結(jié)
第7章openpyxl庫(kù)
7.1工作簿對(duì)象
7.1.1創(chuàng)建工作簿
7.1.2讀取工作簿
7.1.3工作簿相關(guān)操作
7.2工作表對(duì)象
7.2.1讀取工作表數(shù)據(jù)
7.2.2追加工作表數(shù)據(jù)
7.2.3修改工作表數(shù)據(jù)
7.2.4插入工作表數(shù)據(jù)
7.2.5刪除工作表數(shù)據(jù)
7.2.6工作表數(shù)據(jù)轉(zhuǎn)換
7.2.7工作表相關(guān)操作
7.3單元格對(duì)象
7.3.1單元格數(shù)據(jù)讀取
7.3.2單元格數(shù)據(jù)寫入
7.3.3單元格公式寫入
7.3.4單元格合并
7.4單元格格式
7.4.1設(shè)置單元格字體(Font)
7.4.2設(shè)置單元格邊框(Border)
7.4.3設(shè)置單元格對(duì)齊方式(Alignment)
7.4.4設(shè)置單元格背景顏色(PatternFill)
7.4.5設(shè)置單元格行高
7.4.6設(shè)置單元格列寬
7.5本章總結(jié)
第8章Python數(shù)據(jù)預(yù)處理
8.1pandas數(shù)據(jù)結(jié)構(gòu)
8.1.1創(chuàng)建Series對(duì)象
8.1.2創(chuàng)建DataFrame對(duì)象
8.2數(shù)據(jù)基本操作
8.2.1通過行號(hào)和列號(hào)提取數(shù)據(jù)(iloc)
8.2.2通過索引提取數(shù)據(jù)(loc)
8.2.3插入數(shù)據(jù)
8.2.4遍歷數(shù)據(jù)
8.2.5設(shè)置索引
8.2.6檢測(cè)數(shù)據(jù)
8.2.7Series對(duì)象與DataFrame對(duì)象相互轉(zhuǎn)換
8.3數(shù)據(jù)增改
8.3.1新增數(shù)據(jù)
8.3.2修改數(shù)據(jù)
8.3.3刪除數(shù)據(jù)
8.4數(shù)據(jù)清洗
8.4.1DataFrame清洗
8.4.2Series清洗
8.5數(shù)據(jù)格式化
8.5.1Series數(shù)據(jù)格式化
8.5.2日期與時(shí)間格式化
8.6數(shù)據(jù)類型轉(zhuǎn)換
8.6.1顯示數(shù)據(jù)類型
8.6.2設(shè)置數(shù)據(jù)類型
8.6.3自動(dòng)設(shè)置數(shù)據(jù)類型
8.6.4數(shù)據(jù)類型轉(zhuǎn)換方式
8.6.5數(shù)據(jù)類型篩選
8.7數(shù)據(jù)排序
8.7.1按索引排序
8.7.2按數(shù)值排序
8.7.3其他排序
8.8數(shù)據(jù)計(jì)算與統(tǒng)計(jì)
8.8.1數(shù)據(jù)計(jì)算
8.8.2數(shù)據(jù)統(tǒng)計(jì)
8.8.3數(shù)據(jù)信息統(tǒng)計(jì)
8.9數(shù)據(jù)分組
8.9.1數(shù)據(jù)分組類型
8.9.2分組應(yīng)用
8.9.3應(yīng)用組合
8.10日期時(shí)間序列
8.10.1日期時(shí)間對(duì)象
8.10.2時(shí)間差創(chuàng)建日期時(shí)間序列
8.10.3日期時(shí)間序列索引
8.10.4日期時(shí)間序列相關(guān)功能
8.10.5日期時(shí)間序列的應(yīng)用
8.11pandas數(shù)據(jù)處理常用函數(shù)
8.11.1顯示前N行數(shù)據(jù)(head())
8.11.2輸出數(shù)據(jù)基本信息(info())
8.11.3數(shù)據(jù)統(tǒng)計(jì)匯總(describe())
8.11.4統(tǒng)計(jì)類的數(shù)量(value_counts())
8.11.5判斷數(shù)據(jù)缺失值(isna())
8.11.6判斷數(shù)據(jù)缺失值(any())
8.11.7刪除缺失值數(shù)據(jù)(dropna())
8.11.8填充缺失數(shù)據(jù)(fillna())
8.11.9數(shù)據(jù)索引排序(sort_index())
8.11.10數(shù)據(jù)排序(sort_values())
8.11.11更改數(shù)據(jù)類型(astype())
8.11.12修改數(shù)據(jù)列名稱(rename())
8.11.13設(shè)置索引(set_index())
8.11.14重置索引(reset_index())
8.11.15刪除重復(fù)值(drop_duplicates())
8.11.16刪除字段(drop())
8.11.17數(shù)據(jù)篩選(isin())
8.11.18變量離散化(pd.cut())
8.11.19變量離散化(pd.qcut())
8.11.20替換數(shù)據(jù)(where())
8.11.21數(shù)據(jù)拼接(pd.concat())
8.11.22數(shù)據(jù)透視(pivot_table())
8.12本章總結(jié)
參考文獻(xiàn)