Pandas for Everyone: Python Data Analysis, 2nd edition
BRAND: PEARSON
Publisher: | Addison-Wesley Professional |
Author: | Daniel Y. Chen |
Edition: | (November 24, 2022) © 2023 |
eBook ISBN: | 9780137891054 |
Print ISBN: | 9780137891153 |
Type: | 1 Year Subscription. Dành cho Cá nhân |
eBook edition. 1 Year Subscription. Dành cho Cá nhân | Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In
See what in the box
Mô tả sản phẩm
Quản lý và tự động hóa phân tích dữ liệu với Pandas trong Python
Ngày nay, các nhà phân tích phải quản lý dữ liệu có đặc điểm là đa dạng, vận tốc và khối lượng đặc biệt. Sử dụng thư viện Pandas mã nguồn mở, bạn có thể sử dụng Python để nhanh chóng tự động hóa và thực hiện hầu như mọi tác vụ phân tích dữ liệu, bất kể lớn hay phức tạp. Pandas có thể giúp bạn đảm bảo tính xác thực của dữ liệu, trực quan hóa dữ liệu để đưa ra quyết định hiệu quả và tái tạo các phân tích một cách đáng tin cậy trên nhiều bộ dữ liệu.
Pandas cho mọi người, Phiên bản thứ 2, tập hợp kiến thức thực tế và hiểu biết sâu sắc để giải quyết các vấn đề thực sự với Pandas, ngay cả khi bạn là người mới làm quen với phân tích dữ liệu Python. Daniel Y. Chen giới thiệu các khái niệm chính thông qua các ví dụ đơn giản nhưng thực tế, dựa trên chúng để giải quyết các vấn đề khoa học dữ liệu trong thế giới thực, khó khăn hơn, chẳng hạn như sử dụng chính quy hóa để ngăn chặn tình trạng quá khớp dữ liệu hoặc khi nào nên sử dụng các phương pháp học máy không giám sát để tìm cấu trúc cơ bản trong một tập dữ liệu.
Các tính năng mới cho phiên bản thứ hai bao gồm:
Phạm vi mở rộng của âm mưu và thư viện trực quan hóa dữ liệu trên biển
Các ví dụ và tài nguyên mở rộng
Đã cập nhật phạm vi mã và gói Python 3.9, bao gồm các mô hình thống kê và thư viện scikit-learn
Tài liệu thưởng trực tuyến về geopandas, Dask và tạo đồ họa tương tác với Altair
Chen cung cấp cho bạn bước khởi đầu trong việc sử dụng Pandas với tập dữ liệu thực tế và bao gồm việc kết hợp các tập dữ liệu, xử lý dữ liệu bị thiếu và cấu trúc các tập dữ liệu để phân tích và trực quan hóa dễ dàng hơn. Anh ấy trình bày các kỹ thuật làm sạch dữ liệu mạnh mẽ, từ thao tác chuỗi cơ bản đến áp dụng các hàm đồng thời trên các khung dữ liệu.
Sau khi dữ liệu của bạn đã sẵn sàng, Chen sẽ hướng dẫn bạn các mô hình phù hợp để dự đoán, phân cụm, suy luận và khám phá. Anh ấy cung cấp các mẹo về hiệu suất và khả năng mở rộng, đồng thời giới thiệu cho bạn hệ sinh thái phân tích dữ liệu Python rộng hơn.
Làm việc với DataFrames và Series, đồng thời nhập hoặc xuất dữ liệu
Tạo các ô với matplotlib, seaborn và pandas
Kết hợp các bộ dữ liệu và xử lý dữ liệu bị thiếu
Định hình lại các bộ dữ liệu, gọn gàng và sạch sẽ để chúng dễ dàng làm việc hơn
Chuyển đổi kiểu dữ liệu và thao tác chuỗi văn bản
Áp dụng các hàm để mở rộng thao tác dữ liệu
Tổng hợp, chuyển đổi và lọc các tập dữ liệu lớn với nhóm
Tận dụng khả năng ngày và giờ nâng cao của Pandas
Điều chỉnh các mô hình tuyến tính bằng cách sử dụng mô hình thống kê và thư viện scikit-learn
Sử dụng mô hình tuyến tính tổng quát để phù hợp với các mô hình có các biến phản hồi khác nhau
So sánh nhiều mẫu để chọn mẫu “tốt nhất”
Thường xuyên hóa để khắc phục tình trạng trang bị quá mức và cải thiện hiệu suất
Sử dụng phân cụm trong học máy không giám sát
Foreword by Anne M. Brown
xxiii
Foreword by Jared Lander
xxv
Preface
xxvii
Changes in the Second Edition
xxxix
Part I: Introduction
1
Chapter 1. Pandas DataFrame Basics
3
Learning Objectives 3
1.1 Introduction 3
1.2 Load Your First Data Set 4
1.3 Look at Columns, Rows, and Cells 6
1.4 Grouped and Aggregated Calculations 23
1.5 Basic Plot 27
Conclusion 28
Chapter 2. Pandas Data Structures Basics
31
Learning Objectives 31
2.1 Create Your Own Data 31
2.2 The Series 33
2.3 The DataFrame 42
2.4 Making Changes to Series and DataFrames 45
2.5 Exporting and Importing Data 52
Conclusion 63
Chapter 3. Plotting Basics
65
Learning Objectives 65
3.1 Why Visualize Data? 65
3.2 Matplotlib Basics 66
3.3 Statistical Graphics Using matplotlib 72
3.4 Seaborn 78
3.5 Pandas Plotting Method 111
Conclusion 115
Chapter 4. Tidy Data
117
Learning Objectives 117
Note About This Chapter 117
4.1 Columns Contain Values, Not Variables 118
4.2 Columns Contain Multiple Variables 122
4.3 Variables in Both Rows and Columns 126
Conclusion 129
Chapter 5. Apply Functions
131
Learning Objectives 131
Note About This Chapter 131
5.1 Primer on Functions 131
5.2 Apply (Basics) 133
5.3 Vectorized Functions 138
5.4 Lambda Functions (Anonymous Functions) 141
Conclusion 142
Part II: Data Processing
143
Chapter 6. Data Assembly
145
Learning Objectives 145
6.1 Combine Data Sets 145
6.2 Concatenation 146
6.3 Observational Units Across Multiple Tables 154
6.4 Merge Multiple Data Sets 160
Conclusion 167
Chapter 7. Data Normalization
169
Learning Objectives 169
7.1 Multiple Observational Units in a Table (Normalization) 169
Conclusion 173
Chapter 8. Groupby Operations: Split-Apply-Combine
175
Learning Objectives 175
8.1 Aggregate 176
8.2 Transform 184
8.3 Filter 188
8.4 The pandas.core.groupby.DataFrameGroupBy object 190
8.5 Working with a MultiIndex 195
Conclusion 199
Part III: Data Types
203
Chapter 9. Missing Data
203
Learning Objectives 203
9.1 What Is a NaN Value? 203
9.2 Where Do Missing Values Come From? 205
9.3 Working with Missing Data 210
9.4 Pandas Built-In NA Missing 216
Conclusion 218
Chapter 10. Data Types
219
Learning Objectives 219
10.1 Data Types 219
10.2 Converting Types 220
10.3 Categorical Data 225
Conclusion 227
Chapter 11. Strings and Text Data
229
Introduction 229
Learning Objectives 229
11.1 Strings 229
11.2 String Methods 233
11.3 More String Methods 234
11.4 String Formatting (F-Strings) 236
11.5 Regular Expressions (RegEx) 239
11.6 The regex Library 247
Conclusion 247
Chapter 12. Dates and Times
249
Learning Objectives 249
12.1 Python's datetime Object 249
12.2 Converting to datetime 250
12.3 Loading Data That Include Dates 253
12.4 Extracting Date Components 254
12.5 Date Calculations and Timedeltas 257
12.6 Datetime Methods 259
12.7 Getting Stock Data 261
12.8 Subsetting Data Based on Dates 263
12.9 Date Ranges 266
12.10 Shifting Values 270
12.11 Resampling 276
12.12 Time Zones 278
12.13 Arrow for Better Dates and Times 280
Conclusion 280
Part IV: Data Modeling
281
Chapter 13. Linear Regression (Continuous Outcome Variable)
283
13.1 Simple Linear Regression 283
13.2 Multiple Regression 287
13.3 Models with Categorical Variables 289
13.4 One-Hot Encoding in scikit-learn with Transformer Pipelines 294
Conclusion 296
Chapter 14. Generalized Linear Models
297
About This Chapter 297
14.1 Logistic Regression (Binary Outcome Variable) 297
14.2 Poisson Regression (Count Outcome Variable) 304
14.3 More Generalized Linear Models 308
Conclusion 309
Chapter 15. Survival Analysis
311
15.1 Survival Data 311
15.2 Kaplan Meier Curves 312
15.3 Cox Proportional Hazard Model 314
Conclusion 317
Chapter 16. Model Diagnostics
319
16.1 Residuals 319
16.2 Comparing Multiple Models 324
16.3 k-Fold Cross-Validation 329
Conclusion 334
Chapter 17. Regularization
335
17.1 Why Regularize? 335
17.2 LASSO Regression 337
17.3 Ridge Regression 338
17.4 Elastic Net 340
17.5 Cross-Validation 341
Conclusion 343
Chapter 18. Clustering
345
18.1 k-Means 345
18.2 Hierarchical Clustering 351
Conclusion 356
Part V. Conclusion
357
Chapter 19. Life Outside of Pandas
359
19.1 The (Scientific) Computing Stack 359
19.2 Performance 360
19.3 Dask 360
19.4 Siuba 360
19.5 Ibis 361
19.6 Polars 361
19.7 PyJanitor 361
19.8 Pandera 361
19.9 Machine Learning 361
19.10 Publishing 362
19.11 Dashboards 362
Conclusion 362
Chapter 20. It's Dangerous To Go Alone!
363
20.1 Local Meetups 363
20.2 Conferences 363
20.3 The Carpentries 364
20.4 Podcasts 364
20.5 Other Resources 365
Conclusion 365
Appendices
367
A. Concept Maps 369
B. Installation and Setup 373
C. Command Line 377
D. Project Templates 379
E. Using Python 381
F. Working Directories 383
G. Environments 385
H. Install Packages 389
I. Importing Libraries 391
J. Code Style 393
K. Containers: Lists, Tuples, and Dictionaries 395
L. Slice Values 399
M. Loops 401
N. Comprehensions 403
O. Functions 405
P. Ranges and Generators 409
Q. Multiple Assignment 413
R. Numpy ndarray 415
S. Classes 417
T. SettingWithCopyWarning 419
U. Method Chaining 423
V. Timing Code 427
W. String Formatting 429
X. Conditionals (if-elif-else) 433
Y. New York ACS Logistic Regression Example 435
Z. Replicating Results in R 443
Index
451
Quản lý và tự động hóa phân tích dữ liệu với Pandas trong Python
Ngày nay, các nhà phân tích phải quản lý dữ liệu có đặc điểm là đa dạng, vận tốc và khối lượng đặc biệt. Sử dụng thư viện Pandas mã nguồn mở, bạn có thể sử dụng Python để nhanh chóng tự động hóa và thực hiện hầu như mọi tác vụ phân tích dữ liệu, bất kể lớn hay phức tạp. Pandas có thể giúp bạn đảm bảo tính xác thực của dữ liệu, trực quan hóa dữ liệu để đưa ra quyết định hiệu quả và tái tạo các phân tích một cách đáng tin cậy trên nhiều bộ dữ liệu.
Pandas cho mọi người, Phiên bản thứ 2, tập hợp kiến thức thực tế và hiểu biết sâu sắc để giải quyết các vấn đề thực sự với Pandas, ngay cả khi bạn là người mới làm quen với phân tích dữ liệu Python. Daniel Y. Chen giới thiệu các khái niệm chính thông qua các ví dụ đơn giản nhưng thực tế, dựa trên chúng để giải quyết các vấn đề khoa học dữ liệu trong thế giới thực, khó khăn hơn, chẳng hạn như sử dụng chính quy hóa để ngăn chặn tình trạng quá khớp dữ liệu hoặc khi nào nên sử dụng các phương pháp học máy không giám sát để tìm cấu trúc cơ bản trong một tập dữ liệu.
Các tính năng mới cho phiên bản thứ hai bao gồm:
Phạm vi mở rộng của âm mưu và thư viện trực quan hóa dữ liệu trên biển
Các ví dụ và tài nguyên mở rộng
Đã cập nhật phạm vi mã và gói Python 3.9, bao gồm các mô hình thống kê và thư viện scikit-learn
Tài liệu thưởng trực tuyến về geopandas, Dask và tạo đồ họa tương tác với Altair
Chen cung cấp cho bạn bước khởi đầu trong việc sử dụng Pandas với tập dữ liệu thực tế và bao gồm việc kết hợp các tập dữ liệu, xử lý dữ liệu bị thiếu và cấu trúc các tập dữ liệu để phân tích và trực quan hóa dễ dàng hơn. Anh ấy trình bày các kỹ thuật làm sạch dữ liệu mạnh mẽ, từ thao tác chuỗi cơ bản đến áp dụng các hàm đồng thời trên các khung dữ liệu.
Sau khi dữ liệu của bạn đã sẵn sàng, Chen sẽ hướng dẫn bạn các mô hình phù hợp để dự đoán, phân cụm, suy luận và khám phá. Anh ấy cung cấp các mẹo về hiệu suất và khả năng mở rộng, đồng thời giới thiệu cho bạn hệ sinh thái phân tích dữ liệu Python rộng hơn.
Làm việc với DataFrames và Series, đồng thời nhập hoặc xuất dữ liệu
Tạo các ô với matplotlib, seaborn và pandas
Kết hợp các bộ dữ liệu và xử lý dữ liệu bị thiếu
Định hình lại các bộ dữ liệu, gọn gàng và sạch sẽ để chúng dễ dàng làm việc hơn
Chuyển đổi kiểu dữ liệu và thao tác chuỗi văn bản
Áp dụng các hàm để mở rộng thao tác dữ liệu
Tổng hợp, chuyển đổi và lọc các tập dữ liệu lớn với nhóm
Tận dụng khả năng ngày và giờ nâng cao của Pandas
Điều chỉnh các mô hình tuyến tính bằng cách sử dụng mô hình thống kê và thư viện scikit-learn
Sử dụng mô hình tuyến tính tổng quát để phù hợp với các mô hình có các biến phản hồi khác nhau
So sánh nhiều mẫu để chọn mẫu “tốt nhất”
Thường xuyên hóa để khắc phục tình trạng trang bị quá mức và cải thiện hiệu suất
Sử dụng phân cụm trong học máy không giám sát
Foreword by Anne M. Brown
xxiii
Foreword by Jared Lander
xxv
Preface
xxvii
Changes in the Second Edition
xxxix
Part I: Introduction
1
Chapter 1. Pandas DataFrame Basics
3
Learning Objectives 3
1.1 Introduction 3
1.2 Load Your First Data Set 4
1.3 Look at Columns, Rows, and Cells 6
1.4 Grouped and Aggregated Calculations 23
1.5 Basic Plot 27
Conclusion 28
Chapter 2. Pandas Data Structures Basics
31
Learning Objectives 31
2.1 Create Your Own Data 31
2.2 The Series 33
2.3 The DataFrame 42
2.4 Making Changes to Series and DataFrames 45
2.5 Exporting and Importing Data 52
Conclusion 63
Chapter 3. Plotting Basics
65
Learning Objectives 65
3.1 Why Visualize Data? 65
3.2 Matplotlib Basics 66
3.3 Statistical Graphics Using matplotlib 72
3.4 Seaborn 78
3.5 Pandas Plotting Method 111
Conclusion 115
Chapter 4. Tidy Data
117
Learning Objectives 117
Note About This Chapter 117
4.1 Columns Contain Values, Not Variables 118
4.2 Columns Contain Multiple Variables 122
4.3 Variables in Both Rows and Columns 126
Conclusion 129
Chapter 5. Apply Functions
131
Learning Objectives 131
Note About This Chapter 131
5.1 Primer on Functions 131
5.2 Apply (Basics) 133
5.3 Vectorized Functions 138
5.4 Lambda Functions (Anonymous Functions) 141
Conclusion 142
Part II: Data Processing
143
Chapter 6. Data Assembly
145
Learning Objectives 145
6.1 Combine Data Sets 145
6.2 Concatenation 146
6.3 Observational Units Across Multiple Tables 154
6.4 Merge Multiple Data Sets 160
Conclusion 167
Chapter 7. Data Normalization
169
Learning Objectives 169
7.1 Multiple Observational Units in a Table (Normalization) 169
Conclusion 173
Chapter 8. Groupby Operations: Split-Apply-Combine
175
Learning Objectives 175
8.1 Aggregate 176
8.2 Transform 184
8.3 Filter 188
8.4 The pandas.core.groupby.DataFrameGroupBy object 190
8.5 Working with a MultiIndex 195
Conclusion 199
Part III: Data Types
203
Chapter 9. Missing Data
203
Learning Objectives 203
9.1 What Is a NaN Value? 203
9.2 Where Do Missing Values Come From? 205
9.3 Working with Missing Data 210
9.4 Pandas Built-In NA Missing 216
Conclusion 218
Chapter 10. Data Types
219
Learning Objectives 219
10.1 Data Types 219
10.2 Converting Types 220
10.3 Categorical Data 225
Conclusion 227
Chapter 11. Strings and Text Data
229
Introduction 229
Learning Objectives 229
11.1 Strings 229
11.2 String Methods 233
11.3 More String Methods 234
11.4 String Formatting (F-Strings) 236
11.5 Regular Expressions (RegEx) 239
11.6 The regex Library 247
Conclusion 247
Chapter 12. Dates and Times
249
Learning Objectives 249
12.1 Python's datetime Object 249
12.2 Converting to datetime 250
12.3 Loading Data That Include Dates 253
12.4 Extracting Date Components 254
12.5 Date Calculations and Timedeltas 257
12.6 Datetime Methods 259
12.7 Getting Stock Data 261
12.8 Subsetting Data Based on Dates 263
12.9 Date Ranges 266
12.10 Shifting Values 270
12.11 Resampling 276
12.12 Time Zones 278
12.13 Arrow for Better Dates and Times 280
Conclusion 280
Part IV: Data Modeling
281
Chapter 13. Linear Regression (Continuous Outcome Variable)
283
13.1 Simple Linear Regression 283
13.2 Multiple Regression 287
13.3 Models with Categorical Variables 289
13.4 One-Hot Encoding in scikit-learn with Transformer Pipelines 294
Conclusion 296
Chapter 14. Generalized Linear Models
297
About This Chapter 297
14.1 Logistic Regression (Binary Outcome Variable) 297
14.2 Poisson Regression (Count Outcome Variable) 304
14.3 More Generalized Linear Models 308
Conclusion 309
Chapter 15. Survival Analysis
311
15.1 Survival Data 311
15.2 Kaplan Meier Curves 312
15.3 Cox Proportional Hazard Model 314
Conclusion 317
Chapter 16. Model Diagnostics
319
16.1 Residuals 319
16.2 Comparing Multiple Models 324
16.3 k-Fold Cross-Validation 329
Conclusion 334
Chapter 17. Regularization
335
17.1 Why Regularize? 335
17.2 LASSO Regression 337
17.3 Ridge Regression 338
17.4 Elastic Net 340
17.5 Cross-Validation 341
Conclusion 343
Chapter 18. Clustering
345
18.1 k-Means 345
18.2 Hierarchical Clustering 351
Conclusion 356
Part V. Conclusion
357
Chapter 19. Life Outside of Pandas
359
19.1 The (Scientific) Computing Stack 359
19.2 Performance 360
19.3 Dask 360
19.4 Siuba 360
19.5 Ibis 361
19.6 Polars 361
19.7 PyJanitor 361
19.8 Pandera 361
19.9 Machine Learning 361
19.10 Publishing 362
19.11 Dashboards 362
Conclusion 362
Chapter 20. It's Dangerous To Go Alone!
363
20.1 Local Meetups 363
20.2 Conferences 363
20.3 The Carpentries 364
20.4 Podcasts 364
20.5 Other Resources 365
Conclusion 365
Appendices
367
A. Concept Maps 369
B. Installation and Setup 373
C. Command Line 377
D. Project Templates 379
E. Using Python 381
F. Working Directories 383
G. Environments 385
H. Install Packages 389
I. Importing Libraries 391
J. Code Style 393
K. Containers: Lists, Tuples, and Dictionaries 395
L. Slice Values 399
M. Loops 401
N. Comprehensions 403
O. Functions 405
P. Ranges and Generators 409
Q. Multiple Assignment 413
R. Numpy ndarray 415
S. Classes 417
T. SettingWithCopyWarning 419
U. Method Chaining 423
V. Timing Code 427
W. String Formatting 429
X. Conditionals (if-elif-else) 433
Y. New York ACS Logistic Regression Example 435
Z. Replicating Results in R 443
Index
451