碼上行動(dòng):利用Python與ChatGPT高效搞定Excel數(shù)據(jù)分析
本書在理論方面和實(shí)踐方面都講解得淺顯易懂,能夠讓讀者快速上手,一步步學(xué)會(huì)使用Python與Excel相結(jié)合進(jìn)行數(shù)據(jù)處理與分析。
全書內(nèi)容分3個(gè)部分共12章。第1~4章為入門部分,主要介紹什么是數(shù)據(jù)分析,以及Python的編程環(huán)境和基礎(chǔ)語(yǔ)法知識(shí)。第5~9章為進(jìn)階部分,主要介紹數(shù)據(jù)處理和分析的各種方法。第10~12章為實(shí)戰(zhàn)部分,這部分的3個(gè)實(shí)例綜合了本書前面部分的知識(shí)點(diǎn),介紹了如何結(jié)合Python與Excel在實(shí)際工作中進(jìn)行數(shù)據(jù)處理與分析操作。
本書內(nèi)容由淺入深,且配有案例的素材文件和代碼文件,便于讀者邊學(xué)邊練。本書還創(chuàng)新性地將ChatGPT引入教學(xué)當(dāng)中,給讀者帶來(lái)全新的學(xué)習(xí)方式。本書既適合Python和數(shù)據(jù)分析的初學(xué)者學(xué)習(xí),也適合希望從事數(shù)據(jù)分析相關(guān)行業(yè)的讀者學(xué)習(xí),還可作為廣大職業(yè)院校數(shù)據(jù)分析培訓(xùn)相關(guān)專業(yè)的教材參考用書。
袁昕
----------------------------
袁昕,Crossin的編程教室公眾號(hào)(40萬(wàn)+關(guān)注者)主筆,南京大學(xué)軟件工程本科,上海交通大學(xué)計(jì)算機(jī)碩士。曾就職于 IBM、Ubisoft、華泰證券,擔(dān)任軟件開發(fā)工程師、互聯(lián)網(wǎng)產(chǎn)品經(jīng)理職位,后在創(chuàng)業(yè)公司擔(dān)任后端架構(gòu)師、技術(shù)總監(jiān)等職位。曾受邀作為Python中國(guó)開發(fā)者大會(huì)講師、騰訊云課堂評(píng)審專家。
第1章 數(shù)據(jù)分析基礎(chǔ)001
1.1 什么是數(shù)據(jù)分析001
1.2 數(shù)據(jù)分析的目的001
1.3 數(shù)據(jù)分析的步驟002
1.3.1 明確目的002
1.3.2 獲取數(shù)據(jù)002
1.3.3 處理數(shù)據(jù)003
1.3.4 分析數(shù)據(jù)003
1.4 數(shù)據(jù)分析的工具004
ChatGPT學(xué)習(xí)答疑005
本章小結(jié)006
第2章 Python編程環(huán)境的搭建007
2.1 Anaconda的下載與安裝007
2.1.1 什么是Anaconda007
2.1.2 了解計(jì)算機(jī)的系統(tǒng)和位數(shù)007
2.1.3 下載Anaconda安裝包009
2.1.4 安裝Anaconda010
2.2 Jupyter Notebook的使用012
2.2.1 啟動(dòng)Jupyter Notebook013
2.2.2 新建Jupyter Notebook
文件014
2.2.3 在Jupyter Notebook中編
寫和運(yùn)行代碼015
2.2.4 重命名Jupyter Notebook
文件016
2.2.5 保存Jupyter Notebook
文件017
2.2.6 打開指定文件夾中的
Jupyter Notebook文件018
ChatGPT學(xué)習(xí)答疑019
本章小結(jié)021
第3章 Python語(yǔ)法入門知識(shí)022
3.1 Python快速入門022
3.1.1 變量022
3.1.2 屏幕輸出——print( )函數(shù)023
3.1.3 屏幕輸入——input( )函數(shù)024
3.1.4 注釋024
3.2 運(yùn)算符025
3.2.1 算術(shù)運(yùn)算符025
3.2.2 比較運(yùn)算符026
3.2.3 賦值運(yùn)算符 026
3.2.4 邏輯運(yùn)算符027
3.3 常見數(shù)據(jù)類型028
3.3.1 整型和浮點(diǎn)型028
3.3.2 字符串029
3.3.3 查看數(shù)據(jù)類型029
3.3.4 轉(zhuǎn)換數(shù)據(jù)類型030
3.4 數(shù)據(jù)類型——列表032
3.4.1 創(chuàng)建列表032
3.4.2 統(tǒng)計(jì)列表的元素個(gè)數(shù)和
出現(xiàn)次數(shù)032
3.4.3 添加列表元素033
3.4.4 刪除列表元素033
3.4.5 合并列表035
3.4.6 遍歷列表中的元素035
3.4.7 排序和反向排列列表元素036
3.4.8 提取列表中的元素036
3.5 數(shù)據(jù)類型——字典038
3.5.1 創(chuàng)建字典038
3.5.2 查找字典元素039
3.5.3 獲取字典的所有鍵或所
有值039
3.5.4 遍歷字典的鍵或值040
3.5.5 獲取和遍歷字典中的鍵
值對(duì)040
3.5.6 添加字典元素041
3.5.7 刪除字典元素041
3.5.8 替換字典的元素042
3.5.9 合并字典042
ChatGPT學(xué)習(xí)答疑043
ChatGPT上機(jī)實(shí)訓(xùn)044
本章小結(jié)047
第4章 Python語(yǔ)法基礎(chǔ)知識(shí)048
4.1 Python條件語(yǔ)句048
4.1.1 if語(yǔ)句048
4.1.2 If-else語(yǔ)句049
4.1.3 if-elif-else語(yǔ)句049
4.2 Python循環(huán)語(yǔ)句050
4.2.1 for語(yǔ)句050
4.2.2 while語(yǔ)句051
4.2.3 break語(yǔ)句051
4.2.4 continue語(yǔ)句052
4.3 Python嵌套語(yǔ)句053
4.3.1 if語(yǔ)句的嵌套053
4.3.2 if語(yǔ)句和for語(yǔ)句的嵌套054
4.3.3 for語(yǔ)句的嵌套055
4.4 Python內(nèi)置函數(shù)056
4.4.1 list( )函數(shù)056
4.4.2 len( )函數(shù)057
4.4.3 range( )函數(shù)058
4.4.4 zip( )函數(shù)059
4.5 Python自定義函數(shù)060
4.5.1 自定義無(wú)參數(shù)的函數(shù)060
4.5.2 自定義有參數(shù)的函數(shù)061
4.5.3 自定義有返回值的函數(shù)062
4.6 匿名函數(shù)063
4.7 庫(kù)063
4.7.1 什么是庫(kù)063
4.7.2 安裝庫(kù)064
4.7.3 導(dǎo)入庫(kù)065
4.8 Python常用編程術(shù)語(yǔ)067
ChatGPT學(xué)習(xí)答疑067
ChatGPT上機(jī)實(shí)訓(xùn)069
本章小結(jié)073
第5章 數(shù)據(jù)的獲取與準(zhǔn)備074
5.1 數(shù)據(jù)結(jié)構(gòu)——Series074
5.2 數(shù)據(jù)結(jié)構(gòu)——DataFrame076
5.3 數(shù)據(jù)的讀取與寫入078
5.3.1 讀取Excel工作簿數(shù)據(jù)078
5.3.2 讀取CSV文件數(shù)據(jù)080
5.3.3 將數(shù)據(jù)寫入Excel工作簿082
5.3.4 將數(shù)據(jù)寫入CSV文件083
5.4 數(shù)據(jù)的查看083
5.4.1 預(yù)覽數(shù)據(jù)的前幾行/
后幾行083
5.4.2 查看數(shù)據(jù)表的行數(shù)
和列數(shù)084
5.4.3 查看數(shù)據(jù)的基本統(tǒng)計(jì)
信息085
5.4.4 查看數(shù)據(jù)的類型085
5.5 數(shù)據(jù)的選擇086
5.5.1 選擇單行和單列數(shù)據(jù)086
5.5.2 選擇不連續(xù)的多行數(shù)據(jù)088
5.5.3 選擇不連續(xù)的多列數(shù)據(jù)089
5.5.4 選擇連續(xù)的多行數(shù)據(jù)090
5.5.5 選擇連續(xù)的多列數(shù)據(jù)090
5.5.6 選擇不連續(xù)的多行和
多列數(shù)據(jù)091
5.5.7 選擇連續(xù)的多行和
多列數(shù)據(jù)092
5.5.8 選擇連續(xù)的多行和不連續(xù)
的多列數(shù)據(jù)092
5.5.9 選擇不連續(xù)的多行和連續(xù)
的多列數(shù)據(jù)093
ChatGPT學(xué)習(xí)答疑095
ChatGPT上機(jī)實(shí)訓(xùn)096
本章小結(jié)099
第6章 數(shù)據(jù)的清洗100
6.1 添加和修改標(biāo)簽100
6.1.1 修改行標(biāo)簽和列標(biāo)簽100
6.1.2 將某列數(shù)據(jù)設(shè)置為行標(biāo)簽102
6.1.3 將原來(lái)的行標(biāo)簽設(shè)置為
數(shù)據(jù)列102
6.2 查找數(shù)據(jù)103
6.3 替換數(shù)據(jù)104
6.3.1 一對(duì)一地替換數(shù)據(jù)104
6.3.2 多對(duì)一地替換數(shù)據(jù)105
6.3.3 多對(duì)多地替換數(shù)據(jù)105
6.4 插入數(shù)據(jù)107
6.4.1 插入列數(shù)據(jù)107
6.4.2 插入行數(shù)據(jù)108
6.5 刪除數(shù)據(jù)109
6.5.1 刪除單列數(shù)據(jù)110
6.5.2 刪除多列數(shù)據(jù)110
6.5.3 刪除單行數(shù)據(jù)111
6.5.4 刪除多行數(shù)據(jù)111
6.6 處理重復(fù)值112
6.6.1 查看重復(fù)值113
6.6.2 刪除重復(fù)值115
6.7 處理缺失值116
6.7.1 判斷缺失值116
6.7.2 統(tǒng)計(jì)缺失值118
6.7.3 填充缺失值120
6.7.4 刪除缺失值122
ChatGPT學(xué)習(xí)答疑124
ChatGPT上機(jī)實(shí)訓(xùn)126
本章小結(jié)130
第7章 數(shù)據(jù)的加工131
7.1 轉(zhuǎn)換數(shù)據(jù)131
7.1.1 轉(zhuǎn)換數(shù)據(jù)類型131
7.1.2 轉(zhuǎn)置數(shù)據(jù)表的行列133
7.2 合并數(shù)據(jù)134
7.2.1 橫向拼接數(shù)據(jù)134
7.2.2 按指定方向合并數(shù)據(jù)136
7.3 排序數(shù)據(jù)137
7.3.1 對(duì)單列數(shù)據(jù)進(jìn)行排序137
7.3.2 轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)139
7.3.3 對(duì)多列數(shù)據(jù)進(jìn)行排序140
7.3.4 按照有缺失值的列排序并
設(shè)置缺失值位置141
7.4 排名數(shù)據(jù)144
7.5 篩選數(shù)據(jù)145
7.5.1 根據(jù)單個(gè)條件篩選數(shù)據(jù)146
7.5.2 根據(jù)多個(gè)條件篩選數(shù)據(jù)146
ChatGPT學(xué)習(xí)答疑148
ChatGPT上機(jī)實(shí)訓(xùn)149
本章小結(jié)153
第8章 數(shù)據(jù)的統(tǒng)計(jì)與分析154
8.1 數(shù)據(jù)的分類匯總154
8.1.1 分類匯總單列數(shù)據(jù)154
8.1.2 分類匯總多列數(shù)據(jù)155
8.1.3 創(chuàng)建數(shù)據(jù)透視表158
8.2 數(shù)據(jù)的運(yùn)算159
8.2.1 求和和計(jì)算平均值159
8.2.2 計(jì)算最大值和最小值160
8.2.3 計(jì)算中位數(shù)和眾數(shù)162
8.2.4 計(jì)算方差和標(biāo)準(zhǔn)差163
8.2.5 計(jì)算分位數(shù)163
8.3 數(shù)據(jù)的分析165
8.3.1 數(shù)據(jù)的相關(guān)性分析166
8.3.2 數(shù)據(jù)的回歸分析167
ChatGPT學(xué)習(xí)答疑169
ChatGPT上機(jī)實(shí)訓(xùn)171
本章小結(jié)177
第9章 數(shù)據(jù)的可視化178
9.1 制作簡(jiǎn)單圖表178
9.1.1 制作柱形圖178
9.1.2 制作條形圖180
9.1.3 制作折線圖182
9.1.4 制作面積圖184
9.1.5 制作餅圖和圓環(huán)圖186
9.1.6 制作散點(diǎn)圖188
9.2 設(shè)置圖表元素191
9.2.1 為圖表添加圖表標(biāo)題192
9.2.2 為圖表添加圖例192
9.2.3 為圖表添加橫縱坐標(biāo)軸
標(biāo)題193
9.2.4 為圖表添加網(wǎng)格線194
9.2.5 為圖表添加數(shù)據(jù)標(biāo)簽196
9.2.6 為圖表的橫縱坐標(biāo)軸設(shè)置
刻度范圍197
9.3 制作其他圖表200
9.3.1 制作氣泡圖200
9.3.2 制作雷達(dá)圖201
9.3.3 制作堆積面積圖202
9.3.4 制作雙柱形圖203
9.3.5 制作堆積柱形圖205
9.3.6 制作柱形圖和折線圖組合
圖表207
ChatGPT學(xué)習(xí)答疑209
ChatGPT上機(jī)實(shí)訓(xùn)211
本章小結(jié)215
第10章 實(shí)戰(zhàn)應(yīng)用:商品銷售數(shù)據(jù)分析216
10.1 應(yīng)用場(chǎng)景216
10.2 獲取數(shù)據(jù)217
10.3 合并和分類統(tǒng)計(jì)數(shù)據(jù)218
10.4 分析商品每月的銷售變化趨勢(shì)220
10.5 分析每月各商品大類的銷售情況221
10.6 分析全年各商品小類的銷售情況224
本章小結(jié)225
第11章 實(shí)戰(zhàn)應(yīng)用:產(chǎn)品定價(jià)數(shù)據(jù)分析226
11.1 應(yīng)用場(chǎng)景226
11.2 獲取數(shù)據(jù)227
11.3 查看數(shù)據(jù)情況227
11.4 數(shù)值化處理數(shù)據(jù)229
11.5 產(chǎn)品定價(jià)的預(yù)測(cè)230
11.6 產(chǎn)品定價(jià)的評(píng)估232
本章小結(jié)233
第12章 實(shí)戰(zhàn)應(yīng)用:用戶消費(fèi)行為分析 234
12.1 應(yīng)用場(chǎng)景234
12.2 獲取數(shù)據(jù)235
12.3 統(tǒng)計(jì)和分類匯總數(shù)據(jù)235
12.4 分析每月的消費(fèi)數(shù)量變化趨勢(shì)237
12.5 分析每月的消費(fèi)金額變化趨勢(shì)238
12.6 分析用戶的消費(fèi)水平239
12.7 分析不同消費(fèi)水平用戶的
分布情況240
本章小結(jié)242
附?錄 ChatGPT小白快速上手實(shí)用技巧243
1 用ChatGPT講解概念243
2 用ChatGPT提供示例245
3 用ChatGPT查詢報(bào)錯(cuò)信息247
4 用ChatGPT調(diào)試代碼248
5 用ChatGPT生成測(cè)試數(shù)據(jù)250
6 用ChatGPT獲取解決思路252
7 用ChatGPT批量處理文件254
8 用ChatGPT整理分析數(shù)據(jù)256
9 用ChatGPT繪制可視化圖表258
10 逐步引導(dǎo)及修正ChatGPT的
回答259