商務人士也要學Python
[美] 馬坦·格裡費爾(Mattan Griffel) [法]丹尼爾·格塔(Daniel Guetta)
相關主題
商品描述
本書基於哥倫比亞商學院的Python課程,旨在幫助零編程基礎的讀者掌握Python技能,讓讀者能夠自主執行商業分析任務,並從數據分析中獲得重要見解。本書分為兩部分:第一部分介紹Python編程的基礎概念,比如循環、變量、列表、字典、函數等;第二部分結合實際案例展示如何在商業分析場景中使用Python。學完本書,你將能夠熟練使用Jupyter Notebook和pandas庫,通過自己編寫的Python代碼,高效地整理和分析數據,無須完全依靠外部分析團隊。無論是自己做商業數據分析,還是希望更好地與數據分析團隊溝通,本書都是實用且簡單的學習指南。
作者簡介
马坦·格里费尔(Mattan Griffel),哥伦比亚商学院屡获殊荣的兼职助理教授,是两次获得Y Combinator支持的企业家,也是Ophelia和One Month的联合创始人。曾在彭博社、摩根大通、美国运通、百事可乐等公司任职并提供咨询服务。
丹尼尔·格塔(Daniel Guetta),哥伦比亚商学院专业实践副教授、哥伦比亚商业分析计划主任。曾为金融、制药等各个领域的公司提供咨询服务,帮助这些公司利用数据解决最棘手的问题。曾在剑桥大学和麻省理工学院学习物理与数学,并获得哥伦比亚大学运筹学博士学位。
目錄大綱
前言
第 一部分
第 1章 開始學Python 4
1.1 本章內容簡介 4
1.2 Python編程介紹 4
1.2.1 編程簡介 5
1.2.2 什麽是Python 9
1.3 搭建開發環境 10
1.3.1 安裝文本編輯器 11
1.3.2 安裝Python 12
1.3.3 啟動命令行 12
1.3.4 快速合理性檢測 13
1.4 命令行基礎 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 為代碼創建一個目錄 18
1.5 歡樂時光 18
1.5.1 挑戰1:修復歡樂時光的bug 22
1.5.2 挑戰2:編寫你自己的隨機數生成器腳本 25
1.6 總結 26
第 2章 Python基礎(一) 27
2.1 本章內容簡介 27
2.2 運行Python代碼的兩種方式 27
2.3 輸出 29
2.4 解決錯誤並學會使用搜索引擎 31
2.5 註釋 36
2.6 變量 37
2.7 數值和數學運算 39
2.8 字符串 43
2.8.1 字符串函數 45
2.8.2 f字符串 46
2.9 獲得用戶輸入 48
2.9.1 小費計算器挑戰 50
2.9.2 小費計算器挑戰答案 50
2.10 總結 51
第3 章 Python基礎(二) 52
3.1 本章內容簡介 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不區分大小寫 61
3.5 列表 64
3.5.1 從頭創建列表 66
3.5.2 使用字符串創建列表 67
3.5.3 訪問列表中的元素 68
3.6 循環 70
3.6.1 循環挑戰 71
3.6.2 循環挑戰解決方案 72
3.6.3 如何重復做某事 73
3.6.4 創建一個新的數值平方列表 73
3.7 FizzBuzz游戲 75
3.7.1 FizzBuzz挑戰 75
3.7.2 FizzBuzz挑戰解決方案 76
3.8 字典 79
3.8.1 字典挑戰,第 一部分 81
3.8.2 字典挑戰解決方案,第 一部分 82
3.8.3 增加鍵-值對 82
3.8.4 字典挑戰,第二部分 83
3.8.5 字典挑戰解決方案,第二部分 83
3.8.6 字典的用途 84
3.9 總結 85
第4章 Python基礎(三) 86
4.1 本章內容簡介 86
4.2 函數介紹 86
4.2.1 函數挑戰(一) 89
4.2.2 函數挑戰的答案(一) 89
4.2.3 函數的作用 90
4.2.4 重構和技術債 92
4.2.5 函數挑戰(二) 93
4.2.6 函數挑戰的答案(二) 94
4.2.7 函數挑戰(三) 95
4.2.8 函數挑戰的答案(三)95
4.2.9 函數易錯點:不使用return 97
4.2.10 函數易錯點:沒有獲取輸入 99
4.2.11 函數的參數 99
4.3 導入Python包 101
4.3.1 Python標準庫 103
4.3.2 導入Python包挑戰 104
4.3.3 下載和導入第三方包 104
4.4 總結 105
4.5 第 一部分結束 105
第二部分
第5章 Python數據分析簡介 109
5.1 本章內容簡介 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 數據 129
5.5 pandas庫 131
5.5.1 pandas數據框 132
5.5.2 通過序列訪問列信息 133
5.5.3 行索引和列名 136
5.5.4 head()和shape 138
5.5.5 Jupyter Notebook的代碼完善功能 139
5.6 讀寫數據 142
5.6.1 閱讀數據 142
5.6.2 寫入數據 143
5.7 列類型 145
5.8 總結 147
第6章 在Python中探索、繪制和修改數據 149
6.1 本章內容簡介 149
6.2 預備知識 149
6.3 用pandas給數據排序 150
6.4 用pandas繪圖 152
6.5 用pandas理解數據 154
6.5.1 value_counts()函數 154
6.5.2 描述數值列並繪制直方圖 158
6.5.3 聚合 163
6.6 過濾數據框 164
6.7 列操作 165
6.7.1 算術運算 166
6.7.2 缺失值 167
6.7.3 邏輯運算 170
6.7.4 isin()函數 173
6.7.5 日期時間列 174
6.7.6 字符串行 177
6.7.7 apply()函數 179
6.8 編輯數據框 184
6.8.1 添加列 184
6.8.2 刪除列 184
6.8.3 編輯整列 185
6.8.4 編輯數據框中特定的值 185
6.9 更多的練習 187
6.9.1 各種分析 187
6.9.2 按餐廳計算外賣比例 188
6.9.3 人員配置分析 190
6.10 總結 195
第7章 合並數據集 196
7.1 本章內容簡介 196
7.2 準備工作 196
7.3 合並數據集:簡介 197
7.4 “玩具”數據集 198
7.5 5 種類型的連接 200
7.5.1 聯合操作 200
7.5.2 內部連接、外部連接、左連接和右連接 201
7.6 pandas里的連接操作 204
7.7 選擇合適的連接方式 208
7.7.1 回顧第 一個例子 208
7.7.2 更多的練習 209
7.8 主鍵和連接 210
7.9 構建迪格訂單數據集 212
7.10 總結 217
第8章 聚合 218
8.1 本章內容簡介 218
8.2 準備工作 218
8.3 聚合的基礎 219
8.3.1 聚合函數 223
8.3.2 使用unstack() 225
8.4 對多列進行計算 226
8.5 更復雜的分組 228
8.5.1 使用序列進行分組 228
8.5.2 使用日期和時間進行分組 229
8.6 總結 234
第9章 實踐 235
9.1 本章內容簡介 235
9.2 準備工作 235
9.3 新產品分析:為成功創造“肥沃的土壤” 236
9.4 下一個前沿:設計迪格的外賣專用菜單 238
9.5 為成功而規劃人員配置 243
9.6 數據民主化:匯總訂單數據集 246
9.7 為新的外賣服務找到“肥沃的土壤” 249
9.8 瞭解你的顧客:沙拉愛好者真的更健康嗎 254
9.9 訂單和天氣 258
9.10 總結 264
下一步 265
註釋 267