本書從數(shù)據(jù)科學(xué)的角度,講解了Python和R的語言特性以及各自的優(yōu)缺點(diǎn),介紹了包括包、框架和工作流在內(nèi)的開源生態(tài)系統(tǒng),分析了Python和R分別適用于哪些業(yè)務(wù)場景,并通過真實(shí)的案例演示如何在單個(gè)工作流中集成Python與R,使兩種語言充分發(fā)揮優(yōu)勢,改善業(yè)務(wù)應(yīng)用的效果。還提供了Python和R的對照翻譯,幫助讀者在兩種語言間快速切換。
里克.J.斯卡韋塔(RickJ.Scavetta)自2012年以來,一直擔(dān)任著獨(dú)立研討會的培訓(xùn)師、自由職業(yè)數(shù)據(jù)科學(xué)家和機(jī)構(gòu)聯(lián)合創(chuàng)始人的角色。作為Scavetta Academy運(yùn)營人員,與德國的主要研究機(jī)構(gòu)也有著密切且經(jīng)常性的往來。自2016年以來,他發(fā)布在DataCamp 上的在線課程已被超過200,000名學(xué)生學(xué)習(xí),同時(shí)還為O'Reilly和Manning的高級數(shù)據(jù)科學(xué)課程做出了貢獻(xiàn)。
博揚(yáng).安格洛夫(Boyan Angelov)是一位數(shù)據(jù)科學(xué)戰(zhàn)略家和顧問,在各種學(xué)術(shù)和行業(yè)環(huán)境中擁有十余年的經(jīng)驗(yàn),研究涵蓋的主題包括生物信息學(xué)、臨床試驗(yàn)、人力資源技術(shù)和管理咨詢。他還是XAI領(lǐng)域開源科學(xué)項(xiàng)目的貢獻(xiàn)者,并定期在各種學(xué)術(shù)會議和社區(qū)聚會上發(fā)言。
前言 xiii
第I部分 探索新的語言
第 1章 概述 3
1.1 R的起源 3
1.2 Python的起源 4
1.3 語言戰(zhàn)爭的開端 5
1.4 數(shù)據(jù)科學(xué)主導(dǎo)權(quán)之戰(zhàn) 6
1.5 合作與社區(qū)建設(shè)的融合 8
1.6 Z后的想法 8
第II部分 兩種編程語言I:新學(xué)習(xí)一門語言
第 2章 針對Python用戶的R 13
2.1 啟動(dòng)和運(yùn)行R 13
2.2 項(xiàng)目和第三方庫 15
2.3 Tibbles的勝利 20
2.4 關(guān)于數(shù)據(jù)類型和數(shù)據(jù)探索 23
2.5 關(guān)于命名(內(nèi)部) 25
2.6 列表 27
2.7 關(guān)于因子 29
2.8 如何查找 30
2.9 重復(fù)迭代 37
2.10 Z后的想法 38
第3章 針對R用戶的Python 40
3.1 版本和構(gòu)建 41
3.2 標(biāo)準(zhǔn)工具 42
3.3 虛擬環(huán)境 46
3.4 安裝第三方庫 50
3.5 筆記本 52
3.6 從編程語言角度對比Python和R 53
3.7 導(dǎo)入數(shù)據(jù)集 55
3.8 檢查數(shù)據(jù) 55
3.9 數(shù)據(jù)結(jié)構(gòu)和描述性統(tǒng)計(jì) 57
3.10 數(shù)據(jù)結(jié)構(gòu):回歸基礎(chǔ) 58
3.11 索引和邏輯表達(dá)式 60
3.12 繪圖 61
3.13 推理統(tǒng)計(jì) 61
3.14 Z后的想法 62
第III部分 兩種編程語言II:現(xiàn)代的環(huán)境
第4章 數(shù)據(jù)格式環(huán)境 65
4.1 外部第三方庫與基礎(chǔ)庫 67
4.2 圖像數(shù)據(jù) 69
4.3 文本數(shù)據(jù) 74
4.4 時(shí)間序列數(shù)據(jù) 77
4.4.1 基礎(chǔ)R 77
4.4.2 Prophet第三方庫 79
4.5 空間數(shù)據(jù) 80
4.6 Z后的想法 82
第5章 工作流程環(huán)境 83
5.1 定義工作流程 83
5.2 探索式數(shù)據(jù)分析 85
5.2.1 統(tǒng)計(jì)可視化 85
5.2.2 交互可視化 88
5.3 機(jī)器學(xué)習(xí) 89
5.4 數(shù)據(jù)工程 93
5.5 報(bào)表 97
5.5.1 靜態(tài)報(bào)表 97
5.5.2 互動(dòng)式報(bào)表 98
5.6 Z后的想法 101
第IV部分 兩種編程語言III:學(xué)會協(xié)同
第6章 協(xié)同使用兩種語言 105
6.1 虛擬的互操作性 105
6.2 互操作性 107
6.3 深入互操作性 112
6.3.1 在R Markdown文檔中R和Python之間傳遞對象 112
6.3.2 在R Markdown文檔中調(diào)用Python 113
6.3.3 使用來源命令調(diào)用Python 114
6.3.4 使用REPL調(diào)用Python 115
6.3.5 在交互式文檔中使用動(dòng)態(tài)輸入調(diào)用Python 115
6.4 Z后的想法 117
第7章 兩種編程語言數(shù)據(jù)科學(xué)案例研究 118
7.1 24年188萬場野火 118
7.2 設(shè)置和導(dǎo)入數(shù)據(jù) 121
7.3 EDA和數(shù)據(jù)可視化 122
7.4 機(jī)器學(xué)習(xí) 126
7.4.1 設(shè)置Python環(huán)境 126
7.4.2 特征工程 127
7.4.3 模型訓(xùn)練 128
7.5 推理和用戶界面 129
7.6 Z后的想法 131
附錄 Python-R雙語詞典 133
第三方庫管理 133
賦值運(yùn)算符 134
類型 136
數(shù)學(xué)運(yùn)算符 137
屬性 137
關(guān)鍵字 138
函數(shù)和方法 138
編碼風(fēng)格和命名約定 139
數(shù)據(jù)存儲對象類比 140
數(shù)據(jù)幀 142
邏輯表達(dá)式 145
索引 147
關(guān)于作者 152
關(guān)于封面 152