本書基于哥倫比亞商學院的Python課程,旨在幫助零編程基礎(chǔ)的讀者掌握Python技能,讓讀者能夠自主執(zhí)行商業(yè)分析任務(wù),并從數(shù)據(jù)分析中獲得重要見解。本書分為兩部分:第一部分介紹Python編程的基礎(chǔ)概念,比如循環(huán)、變量、列表、字典、函數(shù)等;第二部分結(jié)合實際案例展示如何在商業(yè)分析場景中使用Python。學完本書,你將能夠熟練使用Jupyter Notebook和pandas庫,通過自己編寫的Python代碼,高效地整理和分析數(shù)據(jù),無須完全依靠外部分析團隊。無論是自己做商業(yè)數(shù)據(jù)分析,還是希望更好地與數(shù)據(jù)分析團隊溝通,本書都是實用且簡單的學習指南。
1 哥倫比亞商學院課程精華,是專門為 MBA 學生和其他需要速成課程的商業(yè)人士編寫的 Python 編程入門書
2 哥倫比亞商學院名譽院長兼羅素·L. 卡森金融與經(jīng)濟學教授格倫·哈伯德、Pilot Wave Holdings Management 創(chuàng)始人兼首席執(zhí)行官Afsheen Afshar、哥倫比亞商學院院長兼 David and Lyn Silfen 商學教授Costis Maglaras聯(lián)合推薦
馬坦·格里費爾(Mattan Griffel),哥倫比亞商學院屢獲殊榮的兼職助理教授,是兩次獲得Y Combinator支持的企業(yè)家,也是Ophelia和One Month的聯(lián)合創(chuàng)始人。曾在彭博社、摩根大通、美國運通、百事可樂等公司任職并提供咨詢服務(wù)。 丹尼爾·格塔(Daniel Guetta),哥倫比亞商學院專業(yè)實踐副教授、哥倫比亞商業(yè)分析計劃主任。曾為金融、制藥等各個領(lǐng)域的公司提供咨詢服務(wù),幫助這些公司利用數(shù)據(jù)解決最棘手的問題。曾在劍橋大學和麻省理工學院學習物理與數(shù)學,并獲得哥倫比亞大學運籌學博士學位。
前言
第 一部分
第 1章 開始學Python 4
1.1 本章內(nèi)容簡介 4
1.2 Python編程介紹 4
1.2.1 編程簡介 5
1.2.2 什么是Python 9
1.3 搭建開發(fā)環(huán)境 10
1.3.1 安裝文本編輯器 11
1.3.2 安裝Python 12
1.3.3 啟動命令行 12
1.3.4 快速合理性檢測 13
1.4 命令行基礎(chǔ) 14
1.4.1 pwd命令 15
1.4.2 open .命令和start .命令 15
1.4.3 ls命令 16
1.4.4 cd命令 17
1.4.5 clear命令 17
1.4.6 為代碼創(chuàng)建一個目錄 18
1.5 歡樂時光 18
1.5.1 挑戰(zhàn)1:修復歡樂時光的bug 22
1.5.2 挑戰(zhàn)2:編寫你自己的隨機數(shù)生成器腳本 25
1.6 總結(jié) 26
第 2章 Python基礎(chǔ)(一) 27
2.1 本章內(nèi)容簡介 27
2.2 運行Python代碼的兩種方式 27
2.3 輸出 29
2.4 解決錯誤并學會使用搜索引擎 31
2.5 注釋 36
2.6 變量 37
2.7 數(shù)值和數(shù)學運算 39
2.8 字符串 43
2.8.1 字符串函數(shù) 45
2.8.2 f字符串 46
2.9 獲得用戶輸入 48
2.9.1 小費計算器挑戰(zhàn) 50
2.9.2 小費計算器挑戰(zhàn)答案 50
2.10 總結(jié) 51
第3 章 Python基礎(chǔ)(二) 52
3.1 本章內(nèi)容簡介 52
3.2 條件語句 52
3.2.1 if語句 52
3.2.2 else語句和elif語句 55
3.3 Python中的邏輯運算 57
3.3.1 運算符== 58
3.3.2 運算符!= 58
3.3.3 運算符>和< 58
3.3.4 運算符not 59
3.3.5 運算符and 59
3.3.6 運算符or 59
3.3.7 成員運算符in 60
3.3.8 邏輯運算練習 60
3.4 讓if.py不區(qū)分大小寫 61
3.5 列表 64
3.5.1 從頭創(chuàng)建列表 66
3.5.2 使用字符串創(chuàng)建列表 67
3.5.3 訪問列表中的元素 68
3.6 循環(huán) 70
3.6.1 循環(huán)挑戰(zhàn) 71
3.6.2 循環(huán)挑戰(zhàn)解決方案 72
3.6.3 如何重復做某事 73
3.6.4 創(chuàng)建一個新的數(shù)值平方列表 73
3.7 FizzBuzz游戲 75
3.7.1 FizzBuzz挑戰(zhàn) 75
3.7.2 FizzBuzz挑戰(zhàn)解決方案 76
3.8 字典 79
3.8.1 字典挑戰(zhàn),第 一部分 81
3.8.2 字典挑戰(zhàn)解決方案,第 一部分 82
3.8.3 增加鍵-值對 82
3.8.4 字典挑戰(zhàn),第二部分 83
3.8.5 字典挑戰(zhàn)解決方案,第二部分 83
3.8.6 字典的用途 84
3.9 總結(jié) 85
第4章 Python基礎(chǔ)(三) 86
4.1 本章內(nèi)容簡介 86
4.2 函數(shù)介紹 86
4.2.1 函數(shù)挑戰(zhàn)(一) 89
4.2.2 函數(shù)挑戰(zhàn)的答案(一) 89
4.2.3 函數(shù)的作用 90
4.2.4 重構(gòu)和技術(shù)債 92
4.2.5 函數(shù)挑戰(zhàn)(二) 93
4.2.6 函數(shù)挑戰(zhàn)的答案(二) 94
4.2.7 函數(shù)挑戰(zhàn)(三) 95
4.2.8 函數(shù)挑戰(zhàn)的答案(三)95
4.2.9 函數(shù)易錯點:不使用return 97
4.2.10 函數(shù)易錯點:沒有獲取輸入 99
4.2.11 函數(shù)的參數(shù) 99
4.3 導入Python包 101
4.3.1 Python標準庫 103
4.3.2 導入Python包挑戰(zhàn) 104
4.3.3 下載和導入第三方包 104
4.4 總結(jié) 105
4.5 第 一部分結(jié)束 105
第二部分
第5章 Python數(shù)據(jù)分析簡介 109
5.1 本章內(nèi)容簡介 110
5.2 準備工作 110
5.3 Jupyter Notebook簡介 110
5.3.1 打開Jupyter Notebook 111
5.3.2 代碼單元格 113
5.3.3 Markdown單元格 116
5.3.4 ipynb文件 117
5.4 數(shù)據(jù) 129
5.5 pandas庫 131
5.5.1 pandas數(shù)據(jù)框 132
5.5.2 通過序列訪問列信息 133
5.5.3 行索引和列名 136
5.5.4 head()和shape 138
5.5.5 Jupyter Notebook的代碼完善功能 139
5.6 讀寫數(shù)據(jù) 142
5.6.1 閱讀數(shù)據(jù) 142
5.6.2 寫入數(shù)據(jù) 143
5.7 列類型 145
5.8 總結(jié) 147
第6章 在Python中探索、繪制和修改數(shù)據(jù) 149
6.1 本章內(nèi)容簡介 149
6.2 預備知識 149
6.3 用pandas給數(shù)據(jù)排序 150
6.4 用pandas繪圖 152
6.5 用pandas理解數(shù)據(jù) 154
6.5.1 value_counts()函數(shù) 154
6.5.2 描述數(shù)值列并繪制直方圖 158
6.5.3 聚合 163
6.6 過濾數(shù)據(jù)框 164
6.7 列操作 165
6.7.1 算術(shù)運算 166
6.7.2 缺失值 167
6.7.3 邏輯運算 170
6.7.4 isin()函數(shù) 173
6.7.5 日期時間列 174
6.7.6 字符串列 177
6.7.7 apply()函數(shù) 179
6.8 編輯數(shù)據(jù)框 184
6.8.1 添加列 184
6.8.2 刪除列 184
6.8.3 編輯整列 185
6.8.4 編輯數(shù)據(jù)框中特定的值 185
6.9 更多的練習 187
6.9.1 各種分析 187
6.9.2 按餐廳計算外賣比例 188
6.9.3 人員配置分析 190
6.10 總結(jié) 195
第7章 合并數(shù)據(jù)集 196
7.1 本章內(nèi)容簡介 196
7.2 準備工作 196
7.3 合并數(shù)據(jù)集:簡介 197
7.4 玩具數(shù)據(jù)集 198
7.5 5 種類型的連接 200
7.5.1 聯(lián)合操作 200
7.5.2 內(nèi)部連接、外部連接、左連接和右連接 201
7.6 pandas里的連接操作 204
7.7 選擇合適的連接方式 208
7.7.1 回顧第 一個例子 208
7.7.2 更多的練習 209
7.8 主鍵和連接 210
7.9 構(gòu)建迪格訂單數(shù)據(jù)集 212
7.10 總結(jié) 217
第8章 聚合 218
8.1 本章內(nèi)容簡介 218
8.2 準備工作 218
8.3 聚合的基礎(chǔ) 219
8.3.1 聚合函數(shù) 223
8.3.2 使用unstack() 225
8.4 對多列進行計算 226
8.5 更復雜的分組 228
8.5.1 使用序列進行分組 228
8.5.2 使用日期和時間進行分組 229
8.6 總結(jié) 234
第9章 實踐 235
9.1 本章內(nèi)容簡介 235
9.2 準備工作 235
9.3 新產(chǎn)品分析:為成功創(chuàng)造肥沃的土壤 236
9.4 下一個前沿:設(shè)計迪格的外賣專用菜單 238
9.5 為成功而規(guī)劃人員配置 243
9.6 數(shù)據(jù)民主化:匯總訂單數(shù)據(jù)集 246
9.7 為新的外賣服務(wù)找到肥沃的土壤 249
9.8 了解你的顧客:沙拉愛好者真的更健康嗎 254
9.9 訂單和天氣 258
9.10 總結(jié) 264
下一步 265
注釋 267