Hướng dẫn how do you access data from a dataset in python? - làm thế nào để bạn truy cập dữ liệu từ một tập dữ liệu trong python?
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Khám phá bộ dữ liệu của bạn với gấu trúc This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Explore Your Dataset With Pandas Show
Bạn có một bộ dữ liệu lớn mà đầy đủ những hiểu biết thú vị, nhưng bạn không chắc chắn nơi bắt đầu khám phá nó? Có phải ông chủ của bạn đã yêu cầu bạn tạo ra một số số liệu thống kê từ nó, nhưng họ không dễ trích xuất? Đây chính xác là những trường hợp sử dụng trong đó gấu trúc và python có thể giúp bạn! Với các công cụ này, bạn sẽ có thể cắt một bộ dữ liệu lớn thành các bộ phận có thể quản lý và hiểu biết sâu sắc từ thông tin đó.Pandas and Python can help you! With these tools, you’ll be able to slice a large dataset down into manageable parts and glean insight from that information. Trong hướng dẫn này, bạn sẽ học cách:
Bạn cũng sẽ tìm hiểu về sự khác biệt giữa các cấu trúc dữ liệu chính mà Pandas và Python sử dụng. Để làm theo, bạn có thể lấy tất cả các mã ví dụ trong hướng dẫn này tại liên kết bên dưới: Thiết lập môi trường của bạnCó một vài điều bạn sẽ cần phải bắt đầu với hướng dẫn này. Đầu tiên là sự quen thuộc với các cấu trúc dữ liệu tích hợp Python, đặc biệt là danh sách và từ điển. Để biết thêm thông tin, hãy xem danh sách và bộ dữ liệu trong Python và từ điển trong Python. Điều thứ hai bạn cần là một môi trường Python hoạt động. Bạn có thể theo dõi trong bất kỳ thiết bị đầu cuối nào đã cài đặt Python 3. Nếu bạn muốn xem đầu ra đẹp hơn, đặc biệt là đối với bộ dữ liệu NBA lớn mà bạn sẽ làm việc, thì bạn có thể muốn chạy các ví dụ trong một cuốn sổ tay Jupyter. Điều cuối cùng bạn cần là Gandas và các thư viện Python khác mà bạn có thể cài đặt với PIP:
Bạn cũng có thể sử dụng trình quản lý gói Conda:
Nếu bạn sử dụng phân phối Anaconda, thì bạn sẽ rất tốt! Anaconda đã được cài đặt thư viện Pandas Python. Các ví dụ trong hướng dẫn này đã được thử nghiệm với Python 3.7 và Pandas 0,25,0, nhưng chúng cũng nên làm việc trong các phiên bản cũ hơn. Bạn có thể nhận được tất cả các ví dụ mã mà bạn sẽ thấy trong hướng dẫn này trong một cuốn sổ tay Jupyter bằng cách nhấp vào liên kết bên dưới: Bắt đầu nào! Sử dụng thư viện Pandas PythonBây giờ bạn đã cài đặt gấu trúc, đã đến lúc có một cái nhìn về bộ dữ liệu. Trong hướng dẫn này, bạn sẽ phân tích kết quả NBA do FiveThentyEight cung cấp trong tệp CSV 17MB. Tạo tập lệnh 5 để tải xuống dữ liệu:
Khi bạn thực thi tập lệnh, nó sẽ lưu tệp 6 trong thư mục làm việc hiện tại của bạn.Bây giờ bạn có thể sử dụng thư viện Pandas Python để xem dữ liệu của bạn: >>>
Tại đây, bạn theo quy ước nhập khẩu gấu trúc trong Python với bí danh 7. Sau đó, bạn sử dụng 8 để đọc trong tập dữ liệu của mình và lưu trữ nó dưới dạng đối tượng 9 trong biến 0.Bạn có thể thấy bao nhiêu dữ liệu 0 chứa:>>>
Tại đây, bạn theo quy ước nhập khẩu gấu trúc trong Python với bí danh 7. Sau đó, bạn sử dụng 8 để đọc trong tập dữ liệu của mình và lưu trữ nó dưới dạng đối tượng 9 trong biến 0.dimensionality. The result is a tuple containing the number of rows and columns.Bạn có thể thấy bao nhiêu dữ liệu 0 chứa:Bạn sử dụng hàm tích hợp Python 2 để xác định số lượng hàng. Bạn cũng sử dụng thuộc tính 3 của 9 để xem chiều của nó. Kết quả là một tuple chứa số lượng hàng và cột.Bây giờ bạn đã biết rằng có 126.314 hàng và 23 cột trong bộ dữ liệu của bạn. Nhưng làm thế nào bạn có thể chắc chắn bộ dữ liệu thực sự chứa các số liệu thống kê bóng rổ? Bạn có thể nhìn vào năm hàng đầu tiên với 5:>>>
Tại đây, bạn theo quy ước nhập khẩu gấu trúc trong Python với bí danh 7. Sau đó, bạn sử dụng 8 để đọc trong tập dữ liệu của mình và lưu trữ nó dưới dạng đối tượng 9 trong biến 0.>>>
Tại đây, bạn theo quy ước nhập khẩu gấu trúc trong Python với bí danh 7. Sau đó, bạn sử dụng 8 để đọc trong tập dữ liệu của mình và lưu trữ nó dưới dạng đối tượng 9 trong biến 0.Bạn có thể thấy bao nhiêu dữ liệu 0 chứa:Bạn sử dụng hàm tích hợp Python 2 để xác định số lượng hàng. Bạn cũng sử dụng thuộc tính 3 của 9 để xem chiều của nó. Kết quả là một tuple chứa số lượng hàng và cột.Bây giờ bạn đã biết rằng có 126.314 hàng và 23 cột trong bộ dữ liệu của bạn. Nhưng làm thế nào bạn có thể chắc chắn bộ dữ liệu thực sự chứa các số liệu thống kê bóng rổ? Bạn có thể nhìn vào năm hàng đầu tiên với 5:Nếu bạn theo dõi cùng với một máy tính xách tay Jupyter, thì bạn sẽ thấy một kết quả như thế này: Trừ khi màn hình của bạn khá lớn, đầu ra của bạn có thể giành được hiển thị tất cả 23 cột. Ở đâu đó ở giữa, bạn sẽ thấy một cột hình elip ( 6) cho biết dữ liệu bị thiếu. Nếu bạn làm việc trong một thiết bị đầu cuối, thì đó có lẽ là dễ đọc hơn so với quấn các hàng dài. Tuy nhiên, máy tính xách tay Jupyter sẽ cho phép bạn cuộn. Bạn có thể định cấu hình gấu trúc để hiển thị tất cả 23 cột như thế này:Mặc dù nó thực tế khi thấy tất cả các cột, nhưng có lẽ bạn đã giành được sáu vị trí thập phân! Thay đổi nó thành hai: Làm quen với dữ liệu của bạnBạn đã nhập một tệp CSV với thư viện Pandas Python và có cái nhìn đầu tiên về nội dung của bộ dữ liệu của bạn. Cho đến nay, bạn chỉ thấy kích thước của bộ dữ liệu của bạn và vài hàng đầu tiên và cuối cùng của nó. Tiếp theo, bạn sẽ học cách kiểm tra dữ liệu của bạn một cách có hệ thống hơn.examine your data more systematically. Hiển thị các loại dữ liệuBước đầu tiên để biết dữ liệu của bạn là khám phá các loại dữ liệu khác nhau mà nó chứa. Mặc dù bạn có thể đặt bất cứ thứ gì vào danh sách, các cột của 9 chứa các giá trị của một loại dữ liệu cụ thể. Khi bạn so sánh các cấu trúc dữ liệu Pandas và Python, bạn sẽ thấy rằng hành vi này làm cho gấu trúc nhanh hơn nhiều!Bạn có thể hiển thị tất cả các cột và các loại dữ liệu của chúng với 4:Điều này sẽ tạo ra đầu ra sau: Bạn sẽ thấy một danh sách tất cả các cột trong tập dữ liệu của bạn và loại dữ liệu mà mỗi cột chứa. Tại đây, bạn có thể thấy các loại dữ liệu 5, 6 và 7. Pandas sử dụng thư viện Numpy để làm việc với các loại này. Sau đó, bạn sẽ gặp loại dữ liệu 8 phức tạp hơn mà thư viện Pandas Python tự thực hiện.Kiểu dữ liệu 7 là một loại đặc biệt. Theo cuốn sách nấu ăn của Pandas, loại dữ liệu 7 là một loại cá bắt đối với các cột mà Pandas không nhận ra là bất kỳ loại cụ thể nào khác. Trong thực tế, nó thường có nghĩa là tất cả các giá trị trong cột là chuỗi.Mặc dù bạn có thể lưu trữ các đối tượng Python tùy ý trong kiểu dữ liệu 7, bạn nên biết về những hạn chế khi làm như vậy. Các giá trị kỳ lạ trong cột 7 có thể gây hại cho hiệu suất của Pandas và khả năng tương tác của nó với các thư viện khác. Để biết thêm thông tin, hãy xem hướng dẫn bắt đầu chính thức.Hiển thị số liệu thống kê cơ bảnBây giờ bạn đã thấy những loại dữ liệu nào trong bộ dữ liệu của bạn, đã đến lúc có được cái nhìn tổng quan về các giá trị mà mỗi cột chứa. Bạn có thể làm điều này với 03:Hàm này cho bạn thấy một số thống kê mô tả cơ bản cho tất cả các cột số: 03 Chỉ phân tích các cột số theo mặc định, nhưng bạn có thể cung cấp các loại dữ liệu khác nếu bạn sử dụng tham số 05:>>>
03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột 7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:Hãy xem các cột 08 và 09. Bộ dữ liệu của bạn chứa 104 ID nhóm khác nhau, nhưng chỉ có 53 ID nhượng quyền khác nhau. Hơn nữa, ID nhóm thường xuyên nhất là 10, nhưng ID nhượng quyền thường xuyên nhất 11. Làm thế nào là có thể? Bạn cần phải khám phá bộ dữ liệu của mình thêm một chút để trả lời câu hỏi này.Khám phá bộ dữ liệu của bạnPhân tích dữ liệu khám phá có thể giúp bạn trả lời các câu hỏi về bộ dữ liệu của bạn. Ví dụ: bạn có thể kiểm tra tần suất các giá trị cụ thể xảy ra trong một cột: can help you answer questions about your dataset. For example, you can examine how often specific values occur in a column: >>>
03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột 7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:>>>
03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột 7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:>>> 0 03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột 7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:Hãy xem các cột 08 và 09. Bộ dữ liệu của bạn chứa 104 ID nhóm khác nhau, nhưng chỉ có 53 ID nhượng quyền khác nhau. Hơn nữa, ID nhóm thường xuyên nhất là 10, nhưng ID nhượng quyền thường xuyên nhất 11. Làm thế nào là có thể? Bạn cần phải khám phá bộ dữ liệu của mình thêm một chút để trả lời câu hỏi này.Khám phá bộ dữ liệu của bạn >>> 1 03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột 7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:Hãy xem các cột 08 và 09. Bộ dữ liệu của bạn chứa 104 ID nhóm khác nhau, nhưng chỉ có 53 ID nhượng quyền khác nhau. Hơn nữa, ID nhóm thường xuyên nhất là 10, nhưng ID nhượng quyền thường xuyên nhất 11. Làm thế nào là có thể? Bạn cần phải khám phá bộ dữ liệu của mình thêm một chút để trả lời câu hỏi này.Khám phá bộ dữ liệu của bạnPhân tích dữ liệu khám phá có thể giúp bạn trả lời các câu hỏi về bộ dữ liệu của bạn. Ví dụ: bạn có thể kiểm tra tần suất các giá trị cụ thể xảy ra trong một cột: Có vẻ như một đội tên $ conda install requests pandas matplotlib 12 đã chơi 6024 trò chơi, nhưng chỉ có 5078 trong số đó được chơi bởi Los Angeles Lakers. Tìm ra nhóm $ conda install requests pandas matplotlib 12 khác là ai:Thật vậy, Minneapolis Lakers ( 14) đã chơi 946 trận. Bạn thậm chí có thể tìm hiểu khi họ chơi những trò chơi đó. Đối với điều đó, trước tiên, bạn sẽ xác định một cột chuyển đổi giá trị của 15 thành kiểu dữ liệu 16. Sau đó, bạn có thể sử dụng các chức năng tổng hợp 17 và 18, để tìm các trò chơi đầu tiên và cuối cùng của Minneapolis Lakers: 26 objects. Create a new 27 object based on a list:>>> 2Bạn đã sử dụng danh sách 28 để tạo đối tượng 27 được gọi là 30. Đối tượng 27 kết thúc hai thành phần:
Bạn có thể truy cập các thành phần này với 32 và 33, tương ứng:>>> 3 34 Trả về các giá trị trong 27, trong khi 36 trả về chỉ số vị trí.Trong khi Pandas xây dựng trên Numpy, một sự khác biệt đáng kể là trong việc lập chỉ mục của chúng. Giống như một mảng numpy, một gấu trúc 27 cũng có một chỉ số số nguyên mà Lừa được xác định ngầm. Chỉ số ngầm này chỉ ra vị trí phần tử trong 27.indexing. Just like a NumPy array, a Pandas 27 also has an integer index that’s implicitly defined. This implicit index indicates the element’s position in the
27.Tuy nhiên, một 27 cũng có thể có một loại chỉ mục tùy ý. Bạn có thể nghĩ về chỉ mục rõ ràng này như là nhãn cho một hàng cụ thể:>>> 4Ở đây, chỉ số là một danh sách các tên thành phố được đại diện bởi các chuỗi. Bạn có thể nhận thấy rằng từ điển Python cũng sử dụng các chỉ số chuỗi, và đây là một sự tương tự tiện dụng để ghi nhớ! Bạn có thể sử dụng các khối mã ở trên để phân biệt giữa hai loại 27:
Tại đây, cách xây dựng một 27 với một chỉ mục nhãn từ từ điển Python:>>> 5Các khóa từ điển trở thành chỉ mục và các giá trị từ điển là các giá trị 27.Giống như từ điển, 27 cũng hỗ trợ 48 và từ khóa 49:>>> 6Bạn có thể sử dụng các phương pháp này để trả lời các câu hỏi về bộ dữ liệu của bạn một cách nhanh chóng. Hiểu các đối tượng DataFrameMặc dù 27 là một cấu trúc dữ liệu khá mạnh mẽ, nhưng nó có những hạn chế. Ví dụ: bạn chỉ có thể lưu trữ một thuộc tính cho mỗi khóa. Như bạn đã thấy với bộ dữ liệu 0, có 23 cột, thư viện Pandas Python có nhiều hơn để cung cấp với 9. Cấu trúc dữ liệu này là một chuỗi các đối tượng 27 có chung chỉ số. 9. This data structure is a sequence of 27 objects that share
the same index.Nếu bạn đã theo dõi cùng với các ví dụ 27, thì bạn đã có hai đối tượng 27 với các thành phố làm khóa:
Bạn có thể kết hợp các đối tượng này thành 9 bằng cách cung cấp một từ điển trong hàm tạo. Các phím từ điển sẽ trở thành tên cột và các giá trị phải chứa các đối tượng 27:>>> 7Lưu ý cách gấu trúc thay thế giá trị 60 bị thiếu cho Toronto với 61.Chỉ số 9 mới là kết hợp của hai chỉ số 27:>>> 8Giống như 27, 9 cũng lưu trữ các giá trị của nó trong một mảng numpy:>>> 9Bạn cũng có thể tham khảo 2 chiều của 9 dưới dạng trục:axes:>>> 0Trục được đánh dấu bằng 0 là chỉ số hàng và trục được đánh dấu bằng 1 là chỉ mục cột. Thuật ngữ này rất quan trọng để biết bởi vì bạn sẽ gặp một số phương thức 9 chấp nhận tham số 68.row index, and the axis marked with 1 is the column index. This terminology is important to know because you’ll encounter several 9 methods that accept an 68 parameter.Một 9 cũng là một cấu trúc dữ liệu giống như từ điển, do đó, nó cũng hỗ trợ từ khóa 48 và 49. Tuy nhiên, đối với 9, những don don này liên quan đến chỉ mục, nhưng với các cột:>>> 1Bạn có thể thấy các khái niệm này hoạt động với bộ dữ liệu NBA lớn hơn. Nó có chứa một cột được gọi là 73, hoặc nó được gọi là 74? Để trả lời câu hỏi này, hãy hiển thị chỉ mục và các trục của bộ dữ liệu 0, sau đó mở rộng khối mã bên dưới để biết giải pháp:Bởi vì bạn đã chỉ định một cột chỉ mục khi bạn đọc trong tệp CSV, Pandas đã gán một 76 cho 9:>>> 2 0, giống như tất cả các đối tượng 9, có hai trục:>>> 3Bạn có thể kiểm tra sự tồn tại của một cột với 48:>>> 4Cột được gọi là 74, không phải 73.Khi bạn sử dụng các phương pháp này để trả lời các câu hỏi về bộ dữ liệu của bạn, hãy nhớ lưu ý rằng liệu bạn có làm việc với 27 hay 9 để cách giải thích của bạn là chính xác.Truy cập các yếu tố loạtTrong phần trên, bạn đã tạo ra một gấu trúc 27 dựa trên danh sách Python và so sánh hai cấu trúc dữ liệu. Bạn đã thấy cách một đối tượng 27 tương tự như danh sách và từ điển theo nhiều cách. Một điểm tương đồng hơn nữa là bạn cũng có thể sử dụng toán tử lập chỉ mục ( 87) cho 27.indexing operator ( 87) for 27 as well. Bạn cũng sẽ học cách sử dụng hai phương pháp truy cập cụ thể của Pandas:access methods:
Bạn có thể thấy rằng các phương thức truy cập dữ liệu này có thể dễ đọc hơn nhiều so với toán tử lập chỉ mục. Sử dụng toán tử lập chỉ mụcHãy nhớ lại rằng 27 có hai chỉ số:
Tiếp theo, xem lại đối tượng 43:>>> 5Bạn có thể truy cập một cách thuận tiện các giá trị trong 27 với cả nhãn và chỉ số vị trí:>>> 6Bạn có thể truy cập một cách thuận tiện các giá trị trong 27 với cả nhãn và chỉ số vị trí:>>> 7Bạn có thể truy cập một cách thuận tiện các giá trị trong 27 với cả nhãn và chỉ số vị trí:Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:Nếu bạn muốn tìm hiểu thêm về khả năng của toán tử lập chỉ mục, thì hãy xem danh sách và bộ dữ liệu trong Python. >>> 8Bạn có thể truy cập một cách thuận tiện các giá trị trong 27 với cả nhãn và chỉ số vị trí:Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:data access methods:
Toán tử lập chỉ mục ( 87) thuận tiện, nhưng có một cảnh báo. Điều gì sẽ xảy ra nếu các nhãn cũng là số? Giả sử bạn phải làm việc với một đối tượng 27 như thế này:>>> 9Bạn có thể truy cập một cách thuận tiện các giá trị trong 27 với cả nhãn và chỉ số vị trí:Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách: Nếu bạn muốn tìm hiểu thêm về khả năng của toán tử lập chỉ mục, thì hãy xem danh sách và bộ dữ liệu trong Python. Sử dụng 89 và 90Toán tử lập chỉ mục ( 87) thuận tiện, nhưng có một cảnh báo. Điều gì sẽ xảy ra nếu các nhãn cũng là số? Giả sử bạn phải làm việc với một đối tượng 27 như thế này:>>> 0Bạn có thể truy cập một cách thuận tiện các giá trị trong 27 với cả nhãn và chỉ số vị trí:positional indices of 08 and 24. The closing item 25 with a positional index of 26 is excluded.Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách: >>> 1Bạn có thể truy cập một cách thuận tiện các giá trị trong 27 với cả nhãn và chỉ số vị trí:label
index between 26 and 29. Here, the closing item 30 has a label index of 29 and is included in the output.Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách: >>> 2Bạn có thể truy cập một cách thuận tiện các giá trị trong 27 với cả nhãn và chỉ số vị trí:Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:
Toán tử lập chỉ mục ( 87) thuận tiện, nhưng có một cảnh báo. Điều gì sẽ xảy ra nếu các nhãn cũng là số? Giả sử bạn phải làm việc với một đối tượng 27 như thế này:$ conda install requests pandas matplotlib 99 sẽ trở lại là gì? Đối với một chỉ số vị trí, $ conda install requests pandas matplotlib 99 là import requests download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv" target_csv_path = "nba_all_elo.csv" response = requests.get(download_url) response.raise_for_status() # Check that the request was successful with open(target_csv_path, "wb") as f: f.write(response.content) print("Download ready.") 01. Tuy nhiên, nếu bạn đi theo chỉ mục nhãn, thì $ conda install requests pandas matplotlib 99 sẽ đề cập đến import requests download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv" target_csv_path = "nba_all_elo.csv" response = requests.get(download_url) response.raise_for_status() # Check that the request was successful with open(target_csv_path, "wb") as f: f.write(response.content) print("Download ready.") 03.Tin tốt là, bạn không cần phải tìm ra nó! Thay vào đó, để tránh nhầm lẫn, thư viện Pandas Python cung cấp hai phương thức truy cập dữ liệu:dimension of the 9. You’ll use the indexing operator for the columns and the access methods 89 and 90 on the rows.$ conda install requests pandas matplotlib 89 đề cập đến chỉ mục nhãn. 90 đề cập đến chỉ số vị trí.>>> 3Các phương pháp truy cập dữ liệu này dễ đọc hơn nhiều: 06 đã trả về 03, phần tử với nhãn 08. 09 đã trả về 01, phần tử có chỉ mục 08.>>> 4Hình dưới đây cho thấy các phần tử nào 89 và 90 Tham khảo:Một lần nữa, 89 chỉ vào chỉ mục nhãn ở phía bên phải của hình ảnh. Trong khi đó, 90 điểm vào chỉ số vị trí ở phía bên trái của hình ảnh.>>> 5Nó dễ dàng hơn để ghi nhớ sự khác biệt giữa 89 và 90 so với việc tìm ra toán tử lập chỉ mục sẽ quay lại. Ngay cả khi bạn quen thuộc với tất cả các kỳ quặc của toán tử lập chỉ mục, có thể rất nguy hiểm khi cho rằng tất cả những người đọc mã của bạn cũng đã nội bộ hóa các quy tắc đó!Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:Tương tự như 27, 9 cũng cung cấp các phương thức truy cập dữ liệu 89 và 90. Hãy nhớ rằng, 89 sử dụng nhãn và 90 Chỉ số vị trí:data access methods. Remember, 89 uses the label and 90 the positional index:>>> 6Mỗi dòng mã chọn một hàng khác nhau từ 65:
Được rồi, bạn đã sử dụng 89 và 90 trên các cấu trúc dữ liệu nhỏ. Bây giờ, nó thời gian để thực hành với một cái gì đó lớn hơn! Sử dụng phương thức truy cập dữ liệu để hiển thị hàng thứ hai đến cuối của bộ dữ liệu 0. Sau đó, mở rộng khối mã bên dưới để xem giải pháp:Hàng thứ hai đến cuối cùng là hàng với chỉ số vị trí của 78. Bạn có thể hiển thị nó với 90:positional index of 78. You can display it with 90:>>> 7Mỗi dòng mã chọn một hàng khác nhau từ 65: 66 chọn hàng với chỉ mục nhãn 67.subset of rows and columns from your 9:>>> 8Mỗi dòng mã chọn một hàng khác nhau từ 65: 66 chọn hàng với chỉ mục nhãn 67. 68 chọn các hàng với các chỉ số nhãn từ 69 đến 70. Hãy nhớ rằng, 89 là bao gồm.>>> 9 72 chọn hàng với chỉ số vị trí 08, đó là 69.Được rồi, bạn đã sử dụng 89 và 90 trên các cấu trúc dữ liệu nhỏ. Bây giờ, nó thời gian để thực hành với một cái gì đó lớn hơn! Sử dụng phương thức truy cập dữ liệu để hiển thị hàng thứ hai đến cuối của bộ dữ liệu 0. Sau đó, mở rộng khối mã bên dưới để xem giải pháp:Hàng thứ hai đến cuối cùng là hàng với chỉ số vị trí của 78. Bạn có thể hiển thị nó với 90:Bạn sẽ thấy đầu ra là đối tượng 27.Đối với >>> import numpy as np >>> nba.describe(include=object) 9, các phương thức truy cập dữ liệu $ conda install requests pandas matplotlib 89 và $ conda install requests pandas matplotlib 90 cũng chấp nhận tham số thứ hai. Mặc dù tham số đầu tiên chọn các hàng dựa trên các chỉ số, tham số thứ hai chọn các cột. Bạn có thể sử dụng các tham số này với nhau để chọn một tập hợp con của các hàng và cột từ >>> import numpy as np >>> nba.describe(include=object) 9 của bạn:Lưu ý rằng bạn tách các tham số bằng dấu phẩy ( 85). Tham số đầu tiên, 86 cho biết để chọn tất cả các hàng giữa hai nhãn đó. Tham số thứ hai xuất hiện sau dấu phẩy và nói để chọn cột 49.query your data. For example, you can create a new 9 that contains only games
played after 2010:>>> 0Đó là thời gian để thấy cấu trúc tương tự hoạt động với bộ dữ liệu 0 lớn hơn. Chọn tất cả các trò chơi giữa các nhãn 89 và 90. Bạn chỉ quan tâm đến tên của các đội và điểm số, vì vậy cũng chọn các yếu tố đó. Mở rộng khối mã bên dưới để xem giải pháp:Đầu tiên, xác định các hàng bạn muốn xem, sau đó liệt kê các cột có liên quan: >>> 1Bạn sử dụng 89 cho chỉ mục nhãn và dấu phẩy ( 85) để tách hai tham số của bạn.Bạn sẽ thấy một phần nhỏ trong bộ dữ liệu khá lớn của bạn: >>> 2Đầu ra dễ đọc hơn nhiều! Với các phương thức truy cập dữ liệu như 89 và 90, bạn có thể chọn đúng tập hợp con phù hợp của 9 để giúp bạn trả lời các câu hỏi về bộ dữ liệu của mình.Truy vấn dữ liệu của bạn >>> 3Bạn đã thấy cách truy cập các tập hợp con của một bộ dữ liệu khổng lồ dựa trên các chỉ số của nó. Bây giờ, bạn sẽ chọn các hàng dựa trên các giá trị trong các cột dữ liệu của bạn để truy vấn dữ liệu của bạn. Ví dụ: bạn có thể tạo một 9 mới chỉ chứa các trò chơi sau năm 2010:Bây giờ bạn có 24 cột, nhưng 9 mới của bạn chỉ bao gồm các hàng trong đó giá trị trong cột 98 lớn hơn 99.Bạn cũng có thể chọn các hàng trong đó một trường cụ thể không phải là NULL: Điều này có thể hữu ích nếu bạn muốn tránh bất kỳ giá trị bị thiếu trong một cột. Bạn cũng có thể sử dụng 00 để đạt được mục tiêu tương tự.>>> 4Bạn thậm chí có thể truy cập các giá trị của kiểu dữ liệu 7 dưới dạng 02 và thực hiện các phương thức chuỗi trên chúng:Bạn sử dụng 03 để lọc bộ dữ liệu của mình và tìm tất cả các trò chơi trong đó tên của nhóm nhà kết thúc bằng 04.Bạn cũng có thể kết hợp nhiều tiêu chí và truy vấn dữ liệu của bạn. Để làm điều này, hãy chắc chắn đặt từng cái vào dấu ngoặc đơn và sử dụng các toán tử logic 05 và 06 để tách chúng ra.Thực hiện tìm kiếm các trò chơi Baltimore, nơi cả hai đội ghi được hơn 100 điểm. Để chỉ xem từng trò chơi một lần, bạn sẽ cần loại trừ các bản sao:Ở đây, bạn sử dụng 07 để chỉ bao gồm các mục mà aren bản sao.grouping and aggregation functions to help you accomplish this task.Đầu ra của bạn phải chứa năm trò chơi đầy đủ: >>> 5Phương thức đầu tiên trả về tổng số 43, trong khi phương pháp thứ hai trả về giá trị tối đa. Có những phương pháp khác bạn có thể sử dụng, như 20 và 14.Hãy nhớ rằng, một cột của 9 thực sự là một đối tượng 27. Vì lý do này, bạn có thể sử dụng các chức năng tương tự trên các cột của 0:>>> 6A 9 có thể có nhiều cột, giới thiệu các khả năng mới cho các tập hợp, như nhóm:grouping:>>> 7Theo mặc định, Pandas sắp xếp các khóa nhóm trong quá trình gọi đến 19. Nếu bạn không muốn sắp xếp, thì hãy vượt qua 20. Tham số này có thể dẫn đến mức tăng hiệu suất.Bạn cũng có thể nhóm theo nhiều cột: >>> 8Bạn có thể thực hành những điều cơ bản này với một bài tập. Hãy xem mùa giải Golden State Warriors 2014-15 ( 21). Họ đã ghi được bao nhiêu chiến thắng và thua trong mùa giải thông thường và playoffs? Mở rộng khối mã bên dưới cho giải pháp:Đầu tiên, bạn có thể nhóm theo trường 22, sau đó là kết quả:>>> 9 23 cho thấy kết quả cho mùa giải thông thường và 24 cho thấy kết quả cho vòng playoffs.Trong các ví dụ trên, bạn chỉ làm trầy xước bề mặt của các hàm tổng hợp có sẵn cho bạn trong thư viện Pandas Python. Để xem thêm các ví dụ về cách sử dụng chúng, hãy xem Pandas Groupby: Hướng dẫn của bạn để nhóm dữ liệu trong Python. Thao tác cộtBạn cần phải biết cách thao tác các cột dữ liệu của bạn trong các giai đoạn khác nhau của quy trình phân tích dữ liệu. Bạn có thể thêm và thả các cột như là một phần của giai đoạn làm sạch dữ liệu ban đầu, hoặc sau đó dựa trên những hiểu biết về phân tích của bạn.manipulate your dataset’s columns in different phases of the data analysis process. You can add and drop columns as part of the initial data cleaning phase, or later based on the insights of your analysis. Tạo một bản sao của 9 ban đầu của bạn để làm việc với:>>> 0Bạn có thể xác định các cột mới dựa trên các cột hiện có: >>> 1Tại đây, bạn đã sử dụng các cột 74 và 27 để tạo một cột mới gọi là 28. Cột mới này có các chức năng giống như các chức năng cũ:>>> 2Ở đây, bạn đã sử dụng hàm tổng hợp 21 để tìm giá trị lớn nhất của cột mới của bạn.Bạn cũng có thể đổi tên các cột của bộ dữ liệu của bạn. Có vẻ như 30 và 31 quá dài dòng, vì vậy hãy tiếp tục và đổi tên chúng ngay bây giờ:>>> 3Lưu ý rằng có một đối tượng mới, 32. Giống như một số phương thức thao tác dữ liệu khác, 33 trả về một 9 mới theo mặc định. Nếu bạn muốn điều khiển trực tiếp 9 gốc, thì 33 cũng cung cấp một tham số 37 mà bạn có thể đặt thành 38.Bộ dữ liệu của bạn có thể chứa các cột mà bạn không cần. Ví dụ, xếp hạng ELO có thể là một khái niệm hấp dẫn đối với một số người, nhưng bạn đã giành được phân tích chúng trong hướng dẫn này. Bạn có thể xóa bốn cột liên quan đến ELO: >>> 4Hãy nhớ rằng, bạn đã thêm cột mới 28 trong một ví dụ trước, đưa tổng số cột lên 25. Khi bạn loại bỏ bốn cột ELO, tổng số cột giảm xuống còn 21.Chỉ định các loại dữ liệuKhi bạn tạo một 9 mới, bằng cách gọi một hàm tạo hoặc đọc tệp CSV, Pandas gán một loại dữ liệu cho mỗi cột dựa trên các giá trị của nó. Mặc dù nó làm một công việc khá tốt, nhưng nó không hoàn hảo. Nếu bạn chọn loại dữ liệu phù hợp cho các cột của mình lên phía trước, thì bạn có thể cải thiện đáng kể hiệu suất mã của bạn.data type to each column based on its values. While it does a pretty good job, it’s not perfect. If you choose the right data type for your columns up front, then you can significantly improve your code’s performance.Hãy xem một cái khác về các cột của bộ dữ liệu 0:Bạn sẽ thấy đầu ra giống như trước đây: Mười cột của bạn có kiểu dữ liệu 7. Hầu hết các cột 7 này chứa văn bản tùy ý, nhưng cũng có một số ứng cử viên để chuyển đổi kiểu dữ liệu. Ví dụ: hãy xem cột 15:conversion. For example, take a look at the 15 column:>>> 5Ở đây, bạn sử dụng 45 để chỉ định tất cả các ngày trò chơi dưới dạng đối tượng 16.Các cột khác chứa văn bản có cấu trúc hơn một chút. Cột 47 chỉ có ba giá trị khác nhau:>>> 6Bạn sẽ sử dụng kiểu dữ liệu nào trong cơ sở dữ liệu quan hệ cho một cột như vậy? Bạn có thể sẽ không sử dụng loại 48, mà là 49. Pandas cung cấp loại dữ liệu 8 cho cùng một mục đích:>>> 7
8 data type, you make validation easier and save a ton of memory, as Pandas will only use the unique values internally. The higher the ratio of total values to unique values, the more space savings you’ll get.Chạy lại 53. Bạn sẽ thấy rằng việc thay đổi loại dữ liệu 47 từ 7 thành 8 đã giảm việc sử dụng bộ nhớ.Bạn thường gặp các bộ dữ liệu với quá nhiều cột văn bản. Một kỹ năng thiết yếu cho các nhà khoa học dữ liệu có khả năng phát hiện các cột mà họ có thể chuyển đổi thành loại dữ liệu hiệu suất hơn. Hãy dành một chút thời gian để thực hành điều này ngay bây giờ. Tìm một cột khác trong bộ dữ liệu 0 có kiểu dữ liệu chung và chuyển đổi nó thành một loại cụ thể hơn. Bạn có thể mở rộng khối mã bên dưới để xem một giải pháp tiềm năng: 58 chỉ có thể lấy hai giá trị khác nhau:>>> 8Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột 8:>>> 9Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột 8:Bạn có thể sử dụng 53 để kiểm tra việc sử dụng bộ nhớ.performance in mind as you continue to explore your datasets.Khi bạn làm việc với các bộ dữ liệu lớn hơn, tiết kiệm bộ nhớ trở nên đặc biệt quan trọng. Hãy chắc chắn để ghi nhớ hiệu suất khi bạn tiếp tục khám phá bộ dữ liệu của bạn.Dữ liệu làm sạch Bạn có thể ngạc nhiên khi thấy phần này quá muộn trong hướng dẫn! Thông thường, bạn có một cái nhìn quan trọng về bộ dữ liệu của mình để khắc phục mọi vấn đề trước khi bạn chuyển sang phân tích tinh vi hơn. Tuy nhiên, trong hướng dẫn này, bạn sẽ dựa vào các kỹ thuật mà bạn đã học được trong các phần trước để làm sạch bộ dữ liệu của bạn.Giá trị bị mấtNull values often indicate a problem in the data-gathering process. They can make several analysis techniques, like different types of machine learning, difficult or even impossible. Bạn đã bao giờ tự hỏi tại sao 4 cho thấy có bao nhiêu giá trị không null mà một cột chứa? Lý do tại sao đây là thông tin quan trọng. Các giá trị null thường chỉ ra một vấn đề trong quá trình thu thập dữ liệu. Họ có thể thực hiện một số kỹ thuật phân tích, như các loại học máy khác nhau, khó khăn hoặc thậm chí là không thể.Khi bạn kiểm tra bộ dữ liệu 0 với 63, bạn sẽ thấy rằng nó khá gọn gàng. Chỉ cột 64 chứa các giá trị null cho phần lớn các hàng của nó:Đầu ra này cho thấy cột 64 chỉ có 5424 giá trị không null. Điều đó có nghĩa là hơn 120.000 hàng tập dữ liệu của bạn có các giá trị null trong cột này.>>> 0Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột 8:Bạn có thể sử dụng 53 để kiểm tra việc sử dụng bộ nhớ.>>> 1Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột 8:Bạn có thể sử dụng 53 để kiểm tra việc sử dụng bộ nhớ.>>> 2Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột 8:Bạn có thể sử dụng >>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
|