計算機的核心功能是計算,而計算依賴于數(shù)據(jù)。在大數(shù)據(jù)時代,數(shù)據(jù)處理成為這一核心功能的最直接體現(xiàn)。面對海量的數(shù)據(jù),傳統(tǒng)的手工操作已經(jīng)不能滿足人們?nèi)粘I詈凸ぷ魉,因此?shù)據(jù)處理方法正在經(jīng)歷一場新的革命。本書以Python語言為基礎,旨在替代Excel中的手工數(shù)據(jù)處理操作,介紹一種全新的數(shù)據(jù)處理方法。使用Python語言,只需要幾行代碼就可以輕松解決問題,特別是在任務重復性很高的情況下,只要略微改動代碼,即可顯著節(jié)省時間,提高工作效率。
Python是一種跨平臺的計算機程序設計語言,它結合了解釋性、編譯性、互動性和面向?qū)ο蟮奶匦。Python最初被設計用于編寫自動化腳本,但隨著版本的更新和新功能的增加,它已經(jīng)廣泛應用于獨立和大型項目的開發(fā)。
在實際應用中,如何將Excel與Python語言相結合進行數(shù)據(jù)處理,是數(shù)據(jù)分析從業(yè)者需要掌握的關鍵技能。雖然Excel是數(shù)據(jù)處理的專業(yè)軟件,但其在自動化操作方面不如Python靈活。利用Python可以輕松地讀取、計算和編輯Excel文件中的數(shù)據(jù),從而提高數(shù)據(jù)分析工作的效率。
本書主要講述如何利用Python處理Excel文件,從而進行數(shù)據(jù)分析以及可視化等操作。通過學習,讀者可以顯著提高辦公效率,并將所學知識應用到實際工作中。
本書內(nèi)容共分為8章。
第1章介紹了Python語言的基礎知識。
第2章介紹了xlrd庫和xlwt庫,用于處理.xls文件。
第3章介紹了xlwings庫,用于處理.xlsx文件。
第4章介紹了pandas庫,專注于數(shù)據(jù)處理。
第5章介紹了matplotlib庫,用于數(shù)據(jù)可視化。
第6章介紹了tkinter庫,用于窗口視窗設計。
第7章介紹了openpyxl庫,用于簡單的Excel文件讀寫操作。
第8章介紹了數(shù)據(jù)預處理。
由于編者水平有限,加之時間倉促,書中難免存在不當之處,懇請廣大讀者批評指正。
本書提供程序源碼、教學素材和教學案例配套資源,其中程序源碼和教學素材可掃描目錄上方對應二維碼獲取,教學案例需到清華大學出版社官方網(wǎng)站本書頁面獲取。
編者2025年1月
第1章Python基礎
1.1Python語言介紹
1.2Python語言特點
1.3Python應用領域
1.3.1數(shù)據(jù)爬蟲
1.3.2Web開發(fā)
1.3.3軟件測試
1.3.4運維管理
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)語句
1.5.1for循環(huán)語句
1.5.2while循環(huán)
1.6條件語句
1.6.1簡單條件語句(if)
1.6.2二分支條件語句(ifelse)
1.6.3多分支條件語句(ifelifelse)
1.7列表
1.8字典
1.9Python文件打包輸出
1.9.1文件打包輸出
1.9.2設置打包文件圖標
1.10本章總結
第2章xlrd庫和xlwt庫
2.1創(chuàng)建工作簿
2.1.1新工作簿的創(chuàng)建
2.1.2添加工作表
2.2讀取工作簿
2.3讀取工作表
2.3.1以工作表名稱讀取工作表
2.3.2以工作表序號讀取工作表
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ù)操作相關內(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ù)計算
2.12.1工作表中數(shù)據(jù)計算
2.12.2工作表中公式寫入
2.13格式設置
2.13.1設置行高和列寬
2.13.2設置字體屬性(Font)
2.13.3設置邊框?qū)傩?Borders)
2.13.4設置對齊屬性(Alignment)
2.13.5設置背景屬性(Pattern)
2.13.6合并單元格
2.14xlrd庫常用函數(shù)匯總
2.15xlwt庫常用函數(shù)匯總
2.16本章總結
第3章xlwings庫
3.1啟動/退出操作
3.1.1啟動Excel程序
3.1.2退出Excel程序
3.2工作簿(Book)操作
3.2.1創(chuàng)建工作簿
3.2.2打開工作簿
3.2.3保存工作簿
3.2.4關閉工作簿
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工作表相關操作
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范圍的相關數(shù)據(jù)
3.5.2范圍的相關操作
3.5.3范圍的格式自適應
3.6單元格操作
3.6.1單元格的相關數(shù)據(jù)
3.6.2設置超鏈接
3.6.3合并單元格
3.7格式設置
3.7.1設置字體(Font)
3.7.2設置邊框(Borders)
3.7.3設置位置(Alignment)
3.7.4設置顏色(Color)
3.8本章總結
第4章pandas庫
4.1創(chuàng)建文件
4.1.1創(chuàng)建工作簿
4.1.2填寫數(shù)據(jù)
4.1.3設置索引
4.2讀取文件
4.2.1以工作表名稱讀取文件
4.2.2讀取文件并設置索引
4.2.3讀取文件并隱藏標題
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讀取部分數(shù)據(jù)
4.4.5讀取列數(shù)據(jù)至列表
4.4.6讀取行數(shù)據(jù)至列表
4.5修改數(shù)據(jù)
4.5.1修改列標題
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ù)計算
4.9.1公式計算
4.9.2函數(shù)填充(求和)
4.9.3函數(shù)填充(計算平均值)
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)計與分析
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本章總結
第5章數(shù)據(jù)可視化
5.1matplotlib基礎
5.1.1創(chuàng)建繪圖窗口(figure()函數(shù))
5.1.2建立單個子圖(subplot()函數(shù))
5.1.3設置坐標軸線
5.1.4建立多個子圖(一)
5.1.5建立多個子圖(二)
5.1.6繪制一條直線
5.1.7繪制多條直線
5.1.8繪制曲線
5.1.9添加圖例
5.1.10設置布局
5.1.11共享軸線
5.1.12共享X軸(twinx()函數(shù))
5.1.13共享Y軸(twiny()函數(shù))
5.1.14設置圖形邊界及數(shù)軸位置
5.1.15設置圖表與邊界距離(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散點圖(scatter())
5.5.1繪制散點圖
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雷達圖
5.10數(shù)據(jù)透視表
5.11本章總結
第6章界面設計tkinter庫
6.1常用窗口組件及簡要說明
6.2常用窗口組件設置
6.3有關錨定點說明
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標簽(Label)
6.6單行文本框(Entry)
6.7多行文本框(Text)
6.7.1創(chuàng)建多行文本框
6.7.2定位多行文本框內(nèi)容位置
6.7.3設置多行文本框內(nèi)容格式
6.8命令按鈕(Button)
6.9單選按鈕(Radiobutton)
6.10復選框(Checkbutton)
6.11列表框(Listbox)
6.12滾動條(Scrollbar)
6.13進度條(Scale)
6.14框架(Frame)
6.15消息框(messageBox)
6.15.1建立錯誤消息框
6.15.2建立警告消息框
6.15.3建立提示消息框
6.15.4建立選擇對話框
6.16菜單條(Menu)
6.16.1創(chuàng)建菜單
6.16.2實現(xiàn)字體與字號聯(lián)動
6.17菜單按鈕(Menubutton)
6.18選擇菜單(OptionMenu)
6.19形狀控制(Canvas)
6.19.1畫布上建立組件
6.19.2畫布上移動組件
6.20窗口布局管理(PanedWindow)
6.20.1創(chuàng)建子控件(兩個)
6.20.2創(chuàng)建子控件(三個)
6.21頂層(Toplevel)
6.22窗口布局綜述
6.22.1生成組件填充窗口
6.22.2縱向排列組件
6.22.3橫向排列組件
6.22.4按行列排列組件(grid)
6.22.5跨行跨列排列組件
6.22.6組件精準布局(place)
6.22.7組件相互覆蓋
6.22.8組件相對位置和相對尺寸
6.23本章總結
第7章openpyxl庫
7.1工作簿對象
7.1.1創(chuàng)建工作簿
7.1.2讀取工作簿
7.1.3工作簿相關操作
7.2工作表對象
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工作表相關操作
7.3單元格對象
7.3.1單元格數(shù)據(jù)讀取
7.3.2單元格數(shù)據(jù)寫入
7.3.3單元格公式寫入
7.3.4單元格合并
7.4單元格格式
7.4.1設置單元格字體(Font)
7.4.2設置單元格邊框(Border)
7.4.3設置單元格對齊方式(Alignment)
7.4.4設置單元格背景顏色(PatternFill)
7.4.5設置單元格行高
7.4.6設置單元格列寬
7.5本章總結
第8章Python數(shù)據(jù)預處理
8.1pandas數(shù)據(jù)結構
8.1.1創(chuàng)建Series對象
8.1.2創(chuàng)建DataFrame對象
8.2數(shù)據(jù)基本操作
8.2.1通過行號和列號提取數(shù)據(jù)(iloc)
8.2.2通過索引提取數(shù)據(jù)(loc)
8.2.3插入數(shù)據(jù)
8.2.4遍歷數(shù)據(jù)
8.2.5設置索引
8.2.6檢測數(shù)據(jù)
8.2.7Series對象與DataFrame對象相互轉(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日期與時間格式化
8.6數(shù)據(jù)類型轉(zhuǎn)換
8.6.1顯示數(shù)據(jù)類型
8.6.2設置數(shù)據(jù)類型
8.6.3自動設置數(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ù)計算與統(tǒng)計
8.8.1數(shù)據(jù)計算
8.8.2數(shù)據(jù)統(tǒng)計
8.8.3數(shù)據(jù)信息統(tǒng)計
8.9數(shù)據(jù)分組
8.9.1數(shù)據(jù)分組類型
8.9.2分組應用
8.9.3應用組合
8.10日期時間序列
8.10.1日期時間對象
8.10.2時間差創(chuàng)建日期時間序列
8.10.3日期時間序列索引
8.10.4日期時間序列相關功能
8.10.5日期時間序列的應用
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)計匯總(describe())
8.11.4統(tǒng)計類的數(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設置索引(set_index())
8.11.14重置索引(reset_index())
8.11.15刪除重復值(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本章總結
參考文獻