Hướng dẫn what is data transformation in python? - chuyển đổi dữ liệu trong python là gì?
Giới thiệuTrực quan hóa là một công cụ quan trọng để tạo Insight, nhưng rất hiếm khi bạn nhận được dữ liệu ở dạng chính xác đúng hình thức bạn cần. Bạn thường sẽ cần tạo một số biến hoặc tóm tắt mới, đổi tên các biến hoặc sắp xếp lại các quan sát để dữ liệu dễ quản lý hơn. Bạn sẽ học cách làm tất cả những điều đó (và hơn thế nữa!) Trong chương này, điều này sẽ dạy bạn cách chuyển đổi dữ liệu của bạn bằng gói Pandas và bộ dữ liệu mới trên các chuyến bay khởi hành thành phố New York vào năm 2013. Show
Điều kiện tiên quyếtTrong chương này, chúng tôi sẽ tập trung vào cách sử dụng gói Pandas, gói nền tảng cho khoa học dữ liệu trong Python. Chúng tôi sẽ minh họa các ý tưởng chính bằng cách sử dụng dữ liệu từ gói NYCFlight13 R và sử dụng Altair để giúp chúng tôi hiểu dữ liệu. Chúng tôi cũng sẽ cần hai gói Python bổ sung để giúp chúng tôi với các chức năng toán học và thống kê: Numpy và Scipy. Lưu ý 3 tuân theo hướng dẫn SCIPY để nhập các chức năng từ các không gian phân nhóm. Bây giờ chúng tôi sẽ gọi các chức năng bằng gói SCIPY với cấu trúc 4.
NYCFLIGHT13Để khám phá các động từ thao tác dữ liệu cơ bản của gấu trúc, chúng tôi sẽ sử dụng 5. Khung dữ liệu này chứa tất cả 336.776 chuyến bay khởi hành từ thành phố New York vào năm 2013. Dữ liệu đến từ Cục Thống kê Giao thông Hoa Kỳ và được ghi lại ở đây.
Bạn có thể nhận thấy rằng khung dữ liệu này không in toàn bộ vì các khung dữ liệu khác mà bạn có thể thấy trong quá khứ: nó chỉ hiển thị một vài hàng đầu tiên và một vài hàng cuối cùng chỉ có các cột phù hợp với một màn hình. . Sử dụng 6 sẽ hiển thị cho bạn các loại biến cho mỗi cột. Chúng mô tả loại của từng biến:
Có ba loại biến phổ biến khác được sử dụng trong bộ dữ liệu này nhưng bạn sẽ gặp sau này trong cuốn sách:
Sử dụng 5 cũng cung cấp một bản in từ các loại dữ liệu trên các thông tin hữu ích khác về khung dữ liệu gấu trúc của bạn.
Basipulation Data Thao tác dữ liệu cơ bảnTrong chương này, bạn sẽ tìm hiểu năm chức năng chính của gấu trúc hoặc phương thức đối tượng. Phương thức đối tượng là những thứ mà các đối tượng có thể thực hiện. Ví dụ, các khung dữ liệu gấu trúc biết cách cho bạn biết hình dạng của chúng, đối tượng gấu trúc biết cách kết hợp hai khung dữ liệu với nhau. Cách chúng tôi nói với một đối tượng mà chúng tôi muốn nó làm một cái gì đó là với toán tử DOT. Chúng tôi sẽ đề cập đến các toán tử đối tượng này là các hàm hoặc phương thức. Dưới đây là năm phương pháp cho phép bạn giải quyết phần lớn các thách thức thao tác dữ liệu của bạn:
Gói Pandas có thể xử lý tất cả các chức năng giống nhau của DPPLY trong R. Bạn có thể đọc hướng dẫn ánh xạ gấu trúc và điều này đối với bài viết khoa học dữ liệu để có thêm chi tiết về bảng ngắn gọn sau đây. Bảng 5.1: Các chức năng có thể so sánh trong R-DPPLYR và Python-PandasComparable functions in R-Dplyr and Python-Pandas
Lưu ý: Hàm 6 function works similar to 9 in pandas on data frames. But you cannot use 9 on grouped data frame in pandas like you would use 9 on a grouped object. In that case you would use 0 and even then the functionality is not quite the same. 0 thay đổi phạm vi của từng hàm từ hoạt động trên toàn bộ tập dữ liệu sang hoạt động trên từng nhóm. Các chức năng này cung cấp các động từ cho một ngôn ngữ thao tác dữ liệu.Tất cả các động từ hoạt động tương tự:
Các thuộc tính này cùng nhau giúp dễ dàng chuỗi các bước đơn giản để đạt được kết quả phức tạp. Hãy để lặn và xem những động từ này hoạt động như thế nào. Lọc hàng với flights.query('month == 11 | month == 12')2 2 cho phép bạn quan sát tập hợp con dựa trên giá trị của chúng. Đối số đầu tiên chỉ định các hàng được chọn. Đối số này có thể là tên nhãn hoặc một chuỗi Boolean. Đối số thứ hai chỉ định các cột sẽ được chọn. Bộ lọc Blean trên các hàng là trọng tâm của chúng tôi. Ví dụ: chúng tôi có thể chọn tất cả các chuyến bay vào ngày 1 tháng 1 với:
Biểu thức trước đó tương đương với 4Khi bạn chạy dòng mã đó, Pandas thực hiện thao tác lọc và trả về khung dữ liệu mới. Các chức năng của gấu trúc thường không thể sửa đổi đầu vào của chúng, vì vậy nếu bạn muốn lưu kết quả, bạn sẽ cần sử dụng toán tử chuyển nhượng, 5:
Python tương tác hoặc in ra kết quả hoặc lưu chúng vào một biến. So sánhĐể sử dụng lọc hiệu quả, bạn phải biết cách chọn các quan sát mà bạn muốn sử dụng các toán tử so sánh. Python cung cấp bộ tiêu chuẩn: 6, 7, 8, 9, 00 (không bằng) và 01 (bằng).Khi bạn bắt đầu với Python, sai lầm dễ nhất là sử dụng 5 thay vì 01 khi kiểm tra sự bình đẳng. Khi điều này xảy ra, bạn sẽ gặp lỗi:
Có một vấn đề phổ biến khác mà bạn có thể gặp phải khi sử dụng 01: Số điểm nổi. Kết quả sau đây có thể làm bạn ngạc nhiên!
Máy tính sử dụng số học chính xác hữu hạn (rõ ràng chúng có thể lưu trữ một số chữ số vô hạn!) Vì vậy, hãy nhớ rằng mỗi số bạn thấy là một xấp xỉ. Thay vì dựa vào 01, hãy sử dụng 06:
Toán tử logicNhiều đối số cho 6 được kết hợp với các biểu thức và mọi biểu thức phải đúng để đưa vào một hàng trong đầu ra. Đối với các loại kết hợp khác, bạn sẽ cần phải tự mình sử dụng các nhà khai thác boolean: 08 là và và, ____109 là, hoặc 10 là không phải. Hình 5.1 cho thấy bộ hoàn chỉnh của các hoạt động Boolean.
Hình 5.1: Tập hợp hoàn chỉnh các hoạt động Boolean. 11 là vòng tròn bên trái, 12 là vòng tròn bên phải và khu vực bóng mờ hiển thị các bộ phận mà mỗi toán tử chọn.Mã sau đây tìm thấy tất cả các chuyến bay khởi hành vào tháng 11 hoặc tháng 12:
Thứ tự hoạt động không hoạt động như tiếng Anh. Bạn có thể viết 13, mà bạn có thể dịch theo nghĩa đen là tìm thấy tất cả các chuyến bay khởi hành vào tháng 11 hoặc tháng 12. Thay vào đó, nó tìm thấy tất cả các tháng bằng 14, một biểu thức đánh giá thành 2. Trong bối cảnh số (như ở đây), 2 trở thành một, vì vậy điều này tìm thấy tất cả các chuyến bay vào tháng 1, không phải tháng 11 hoặc tháng 12. Điều này khá khó hiểu!Một tay ngắn hữu ích cho vấn đề này là 17. Điều này sẽ chọn mỗi hàng trong đó 11 là một trong những giá trị trong 12. Chúng tôi có thể sử dụng nó để viết lại mã ở trên: 0Đôi khi bạn có thể đơn giản hóa tập hợp con phức tạp bằng cách ghi nhớ luật de Morgan, 20 giống như 21 và 22 giống như 23. Ví dụ: nếu bạn muốn tìm các chuyến bay mà weren bị trì hoãn (khi đến hoặc đi) hơn hai giờ, bạn có thể sử dụng một trong hai bộ lọc sau: 1Bất cứ khi nào bạn bắt đầu sử dụng các biểu thức phức tạp, đa điểm trong 2, hãy xem xét việc làm cho chúng thay vào đó là các biến rõ ràng. Điều đó làm cho nó dễ dàng hơn nhiều để kiểm tra công việc của bạn. Bạn sẽ học cách tạo các biến mới trong thời gian ngắn.Giá trị bị mấtMột tính năng quan trọng của gấu trúc trong Python có thể làm cho so sánh trở nên khó khăn là các giá trị bị thiếu hoặc 25s (không phải là sẵn có). 25 đại diện cho một giá trị không xác định nên các giá trị bị thiếu là những người truyền nhiễm,: Hầu như mọi hoạt động liên quan đến một giá trị chưa biết cũng sẽ không được biết. 2Kết quả khó hiểu nhất là các so sánh. Họ luôn trả lại một 3. Logic cho kết quả này được giải thích trên stackoverflow. Hướng dẫn dữ liệu bị thiếu gấu trúc là một bài đọc hữu ích. 3Nó dễ hiểu nhất tại sao điều này đúng với bối cảnh hơn một chút: 4Nhóm phát triển Python đã quyết định cung cấp chức năng để tìm các đối tượng 28 trong mã của bạn bằng cách cho phép 29 trả về 2. Một lần nữa bạn có thể đọc lý do cho quyết định này. Python hiện có các chức năng 31 để làm cho so sánh này thẳng hơn trong mã của bạn.Pandas sử dụng cấu trúc 32 trong Python để xác định các giá trị NA hoặc ‘thiếu. Nếu bạn muốn xác định xem có thiếu giá trị hay không, hãy sử dụng 33:NA or ‘missing’ values. If you want to determine if a value is missing, use 33: 2 chỉ bao gồm các hàng trong đó điều kiện là 35; Nó loại trừ cả giá trị 36 và NA.NA values. 5Nếu bạn muốn bảo tồn các giá trị bị thiếu, hãy yêu cầu chúng bằng cách sử dụng thủ thuật được đề cập rõ ràng trong đoạn trước hoặc bằng cách sử dụng 33 với tham chiếu tượng trưng 38 trong điều kiện của bạn: 6Bài tập
Sắp xếp hoặc sắp xếp các hàng với #> year month day ... hour minute time_hour #> 0 2013 1 1 ... 5 15 2013-01-01 10:00:00+00:00 #> 1 2013 1 1 ... 5 29 2013-01-01 10:00:00+00:00 #> 2 2013 1 1 ... 5 40 2013-01-01 10:00:00+00:00 #> 3 2013 1 1 ... 5 45 2013-01-01 10:00:00+00:00 #> 4 2013 1 1 ... 6 0 2013-01-01 11:00:00+00:00 #> ... ... ... ... ... ... ... ... #> 336771 2013 9 30 ... 14 55 2013-09-30 18:00:00+00:00 #> 336772 2013 9 30 ... 22 0 2013-10-01 02:00:00+00:00 #> 336773 2013 9 30 ... 12 10 2013-09-30 16:00:00+00:00 #> 336774 2013 9 30 ... 11 59 2013-09-30 15:00:00+00:00 #> 336775 2013 9 30 ... 8 40 2013-09-30 12:00:00+00:00 #> #> [336776 rows x 19 columns]42 42 hoạt động tương tự như 2 ngoại trừ thay vì chọn hàng, nó thay đổi thứ tự của chúng. Nó lấy một khung dữ liệu và tên cột hoặc danh sách các tên cột để đặt hàng theo. Nếu bạn cung cấp nhiều hơn một tên cột, mỗi cột bổ sung sẽ được sử dụng để phá vỡ các mối quan hệ trong các giá trị của các cột trước: 7Sử dụng đối số 45 để đặt hàng lại theo một cột theo thứ tự giảm dần: 8Các giá trị bị thiếu luôn được sắp xếp ở cuối: 9Bài tập
#> year month day ... hour minute time_hour #> 0 2013 1 1 ... 5 15 2013-01-01 10:00:00+00:00 #> 1 2013 1 1 ... 5 29 2013-01-01 10:00:00+00:00 #> 2 2013 1 1 ... 5 40 2013-01-01 10:00:00+00:00 #> 3 2013 1 1 ... 5 45 2013-01-01 10:00:00+00:00 #> 4 2013 1 1 ... 6 0 2013-01-01 11:00:00+00:00 #> ... ... ... ... ... ... ... ... #> 336771 2013 9 30 ... 14 55 2013-09-30 18:00:00+00:00 #> 336772 2013 9 30 ... 22 0 2013-10-01 02:00:00+00:00 #> 336773 2013 9 30 ... 12 10 2013-09-30 16:00:00+00:00 #> 336774 2013 9 30 ... 11 59 2013-09-30 15:00:00+00:00 #> 336775 2013 9 30 ... 8 40 2013-09-30 12:00:00+00:00 #> #> [336776 rows x 19 columns]42 hoạt động tương tự như flights.query('month == 11 | month == 12')2 ngoại trừ thay vì chọn hàng, nó thay đổi thứ tự của chúng. Nó lấy một khung dữ liệu và tên cột hoặc danh sách các tên cột để đặt hàng theo. Nếu bạn cung cấp nhiều hơn một tên cột, mỗi cột bổ sung sẽ được sử dụng để phá vỡ các mối quan hệ trong các giá trị của các cột trước:Sử dụng đối số 45 để đặt hàng lại theo một cột theo thứ tự giảm dần:Các giá trị bị thiếu luôn được sắp xếp ở cuối: Làm thế nào bạn có thể sử dụng 46 để sắp xếp tất cả các giá trị bị thiếu để bắt đầu? (Gợi ý: Sử dụng 47). 0Sắp xếp 5 để tìm các chuyến bay bị trì hoãn nhất. Tìm các chuyến bay rời đi sớm nhất. 1Sắp xếp 5 để tìm các chuyến bay nhanh nhất (tốc độ cao nhất).
52 không hữu ích khủng khiếp với dữ liệu các chuyến bay vì chúng tôi chỉ có 19 biến, nhưng bạn vẫn có thể có được ý tưởng chung: 7 Chức năng theo kiểu tương tự. 2Bài tập
#> year month day ... hour minute time_hour #> 0 2013 1 1 ... 5 15 2013-01-01 10:00:00+00:00 #> 1 2013 1 1 ... 5 29 2013-01-01 10:00:00+00:00 #> 2 2013 1 1 ... 5 40 2013-01-01 10:00:00+00:00 #> 3 2013 1 1 ... 5 45 2013-01-01 10:00:00+00:00 #> 4 2013 1 1 ... 6 0 2013-01-01 11:00:00+00:00 #> ... ... ... ... ... ... ... ... #> 336771 2013 9 30 ... 14 55 2013-09-30 18:00:00+00:00 #> 336772 2013 9 30 ... 22 0 2013-10-01 02:00:00+00:00 #> 336773 2013 9 30 ... 12 10 2013-09-30 16:00:00+00:00 #> 336774 2013 9 30 ... 11 59 2013-09-30 15:00:00+00:00 #> 336775 2013 9 30 ... 8 40 2013-09-30 12:00:00+00:00 #> #> [336776 rows x 19 columns]60: Kết hợp các tên có chứa DEP DEP. 61: Chọn các biến phù hợp với biểu thức chính quy. Điều này phù hợp với bất kỳ biến nào chứa các ký tự lặp lại. Bạn sẽ tìm hiểu thêm về các biểu thức thông thường trong chuỗi.Xem tài liệu bộ lọc Pandas để biết thêm chi tiết. 4Sử dụng 9 để đổi tên cột hoặc nhiều cột. 5Động não càng nhiều cách càng tốt để chọn #> year month day ... hour minute time_hour #> 0 2013 1 1 ... 5 15 2013-01-01 10:00:00+00:00 #> 1 2013 1 1 ... 5 29 2013-01-01 10:00:00+00:00 #> 2 2013 1 1 ... 5 40 2013-01-01 10:00:00+00:00 #> 3 2013 1 1 ... 5 45 2013-01-01 10:00:00+00:00 #> 4 2013 1 1 ... 6 0 2013-01-01 11:00:00+00:00 #> ... ... ... ... ... ... ... ... #> 336771 2013 9 30 ... 14 55 2013-09-30 18:00:00+00:00 #> 336772 2013 9 30 ... 22 0 2013-10-01 02:00:00+00:00 #> 336773 2013 9 30 ... 12 10 2013-09-30 16:00:00+00:00 #> 336774 2013 9 30 ... 11 59 2013-09-30 15:00:00+00:00 #> 336775 2013 9 30 ... 8 40 2013-09-30 12:00:00+00:00 #> #> [336776 rows x 19 columns]41, #> year month day ... hour minute time_hour #> 0 2013 1 1 ... 5 15 2013-01-01 10:00:00+00:00 #> 1 2013 1 1 ... 5 29 2013-01-01 10:00:00+00:00 #> 2 2013 1 1 ... 5 40 2013-01-01 10:00:00+00:00 #> 3 2013 1 1 ... 5 45 2013-01-01 10:00:00+00:00 #> 4 2013 1 1 ... 6 0 2013-01-01 11:00:00+00:00 #> ... ... ... ... ... ... ... ... #> 336771 2013 9 30 ... 14 55 2013-09-30 18:00:00+00:00 #> 336772 2013 9 30 ... 22 0 2013-10-01 02:00:00+00:00 #> 336773 2013 9 30 ... 12 10 2013-09-30 16:00:00+00:00 #> 336774 2013 9 30 ... 11 59 2013-09-30 15:00:00+00:00 #> 336775 2013 9 30 ... 8 40 2013-09-30 12:00:00+00:00 #> #> [336776 rows x 19 columns]64, #> year month day ... hour minute time_hour #> 0 2013 1 1 ... 5 15 2013-01-01 10:00:00+00:00 #> 1 2013 1 1 ... 5 29 2013-01-01 10:00:00+00:00 #> 2 2013 1 1 ... 5 40 2013-01-01 10:00:00+00:00 #> 3 2013 1 1 ... 5 45 2013-01-01 10:00:00+00:00 #> 4 2013 1 1 ... 6 0 2013-01-01 11:00:00+00:00 #> ... ... ... ... ... ... ... ... #> 336771 2013 9 30 ... 14 55 2013-09-30 18:00:00+00:00 #> 336772 2013 9 30 ... 22 0 2013-10-01 02:00:00+00:00 #> 336773 2013 9 30 ... 12 10 2013-09-30 16:00:00+00:00 #> 336774 2013 9 30 ... 11 59 2013-09-30 15:00:00+00:00 #> 336775 2013 9 30 ... 8 40 2013-09-30 12:00:00+00:00 #> #> [336776 rows x 19 columns]65 và #> year month day ... hour minute time_hour #> 0 2013 1 1 ... 5 15 2013-01-01 10:00:00+00:00 #> 1 2013 1 1 ... 5 29 2013-01-01 10:00:00+00:00 #> 2 2013 1 1 ... 5 40 2013-01-01 10:00:00+00:00 #> 3 2013 1 1 ... 5 45 2013-01-01 10:00:00+00:00 #> 4 2013 1 1 ... 6 0 2013-01-01 11:00:00+00:00 #> ... ... ... ... ... ... ... ... #> 336771 2013 9 30 ... 14 55 2013-09-30 18:00:00+00:00 #> 336772 2013 9 30 ... 22 0 2013-10-01 02:00:00+00:00 #> 336773 2013 9 30 ... 12 10 2013-09-30 16:00:00+00:00 #> 336774 2013 9 30 ... 11 59 2013-09-30 15:00:00+00:00 #> 336775 2013 9 30 ... 8 40 2013-09-30 12:00:00+00:00 #> #> [336776 rows x 19 columns]66 từ jan1 = flights.query('month == 1 & day == 1')5.Điều gì xảy ra nếu bạn bao gồm tên của một biến nhiều lần trong cuộc gọi 8?NumPy package for accessing the suite of mathematical functions needed. You would import NumPy with 77. There’s no way to list every possible function that you might use, but here’s a selection of functions that are frequently useful:
Bài tập
Tóm tắt hoặc tập hợp được nhóm với #> year int64 #> month int64 #> day int64 #> dep_time float64 #> sched_dep_time int64 #> dep_delay float64 #> arr_time float64 #> sched_arr_time int64 #> arr_delay float64 #> carrier object #> flight int64 #> tailnum object #> origin object #> dest object #> air_time float64 #> distance int64 #> hour int64 #> minute int64 #> time_hour datetime64[ns, UTC] #> dtype: object28Động từ chính cuối cùng là 28. Nó thu gọn khung dữ liệu vào một hàng duy nhất: 1(Các hàm tổng hợp PANDAS bỏ qua các giá trị 28 như 31 trong R.) 28 không hữu ích khủng khiếp trừ khi chúng tôi ghép nó với 33. Điều này thay đổi đơn vị phân tích từ bộ dữ liệu hoàn chỉnh sang các nhóm riêng lẻ. Sau đó, khi bạn sử dụng các hàm gấu trúc trên khung dữ liệu được nhóm, chúng sẽ được tự động áp dụng bởi nhóm. Ví dụ: nếu chúng tôi áp dụng mã tương tự vào khung dữ liệu được nhóm theo ngày, chúng tôi sẽ nhận được độ trễ trung bình mỗi ngày. Lưu ý rằng với hàm 33, chúng tôi đã sử dụng tuple để xác định cột (mục đầu tiên) và hàm để áp dụng trên cột (mục thứ hai). Điều này được gọi là tổng hợp được đặt tên trong gấu trúc: 2Lưu ý rằng việc sử dụng 35 để loại bỏ sự tạo ra một đa dạng. Bạn có thể đọc thêm về việc sử dụng 33 trong gấu trúc với nhóm của họ bằng cách: tài liệu hướng dẫn người dùng-bombine chia nhỏCùng nhau 33 và 28 cung cấp một trong những công cụ mà bạn sẽ sử dụng phổ biến nhất khi làm việc với các bản tóm tắt được nhóm: nhóm được nhóm. Nhưng trước khi chúng ta đi xa hơn với điều này, chúng ta cần giới thiệu một cấu trúc cho mã gấu trúc khi thực hiện công việc khoa học dữ liệu. Chúng tôi cấu trúc mã của chúng tôi giống như ‘ống, 39 trong các gói gọn gàng từ R-Studio.Kết hợp nhiều hoạt độngHãy tưởng tượng rằng chúng tôi muốn khám phá mối quan hệ giữa khoảng cách và độ trễ trung bình cho từng vị trí. Sử dụng những gì bạn biết về gấu trúc, bạn có thể viết mã như thế này: 3Có ba bước để chuẩn bị dữ liệu này:
Mã này là một chút bực bội khi viết vì chúng tôi phải đặt cho mỗi khung dữ liệu trung gian một tên, mặc dù chúng tôi không quan tâm đến nó. Đặt tên cho mọi thứ là khó khăn, vì vậy điều này làm chậm phân tích của chúng tôi. Có một cách khác để giải quyết vấn đề tương tự mà không có các đối tượng bổ sung: 4Điều này tập trung vào các phép biến đổi, không phải là những gì mà được chuyển đổi, điều này làm cho mã dễ đọc hơn. Bạn có thể đọc nó dưới dạng một loạt các tuyên bố bắt buộc: nhóm, sau đó tóm tắt, sau đó lọc. Theo đề xuất của bài đọc này, một cách tốt để phát âm 40 khi đọc mã Pandas là thì sau đó là.Bạn có thể sử dụng 41 với 40 để viết lại nhiều hoạt động theo cách mà bạn có thể đọc từ trái sang phải, từ trên xuống dưới. Chúng tôi sẽ sử dụng định dạng này thường xuyên kể từ bây giờ vì nó cải thiện đáng kể khả năng đọc của mã gấu trúc phức tạp.Giá trị bị mấtBạn có thể đã tự hỏi về các giá trị 28 mà chúng tôi đưa vào khung dữ liệu Pandas của chúng tôi ở trên. Pandas chỉ bắt đầu một tùy chọn thử nghiệm (phiên bản 1.0) cho 44 nhưng nó không phải là tiêu chuẩn như trong ngôn ngữ R. Bạn có thể đọc đầy đủ chi tiết về dữ liệu bị thiếu trong gấu trúc.Xử lý các giá trị bị thiếu của Pandas và Numpy, mặc định là chức năng ngược lại của R và Tidyverse. Dưới đây là ba mặc định chính khi sử dụng gấu trúc.
Trong trường hợp của chúng tôi, nơi các giá trị bị thiếu đại diện cho các chuyến bay bị hủy, chúng tôi cũng có thể giải quyết vấn đề bằng cách trước tiên loại bỏ các chuyến bay bị hủy. Chúng tôi sẽ lưu bộ dữ liệu này để chúng tôi có thể sử dụng lại nó trong một vài ví dụ tiếp theo. 5ĐếmBất cứ khi nào bạn thực hiện bất kỳ tập hợp nào, nó luôn luôn là một ý tưởng tốt để bao gồm một số đếm ( 47) hoặc số lượng các giá trị không bỏ lỡ ( 48). Bằng cách đó, bạn có thể kiểm tra xem bạn không đưa ra kết luận dựa trên lượng dữ liệu rất nhỏ. Ví dụ, hãy để Lôi nhìn vào các mặt phẳng (được xác định bởi số đuôi của chúng) có độ trễ trung bình cao nhất: 6Wow, có một số máy bay có độ trễ trung bình là 5 giờ (300 phút)! Câu chuyện thực sự là một sắc thái hơn một chút. Chúng ta có thể hiểu rõ hơn nếu chúng ta vẽ một số lượng phân tán số lượng chuyến bay so với & NBSP; độ trễ trung bình: 7Không có gì đáng ngạc nhiên, có sự thay đổi lớn hơn nhiều trong độ trễ trung bình khi có ít chuyến bay. Hình dạng của cốt truyện này rất đặc trưng: bất cứ khi nào bạn vẽ một biểu đồ trung bình (hoặc tóm tắt khác) so với & nbsp; kích thước nhóm, bạn sẽ thấy rằng biến thể giảm khi kích thước mẫu tăng. Khi nhìn vào loại cốt truyện này, nó thường hữu ích để lọc các nhóm với số lượng quan sát nhỏ nhất, vì vậy bạn có thể thấy nhiều hơn về mô hình và ít hơn sự thay đổi cực đoan trong các nhóm nhỏ nhất. Đây là những gì mã sau làm, cũng như hiển thị cho bạn một mẫu tiện dụng cho các thao tác khung dữ liệu đơn giản chỉ cần thiết cho một biểu đồ. 8Có một biến thể phổ biến khác của loại mẫu này. Hãy cùng xem xét hiệu suất trung bình của các batters trong bóng chày có liên quan đến số lần họ ở Bat. Ở đây tôi sử dụng dữ liệu từ gói Lahman để tính trung bình đánh bóng (số lần truy cập / số lần thử) của mỗi cầu thủ bóng chày giải đấu lớn.Lahman package to compute the batting average (number of hits / number of attempts) of every major league baseball player. Khi tôi vẽ kỹ năng của người đánh bóng (được đo bằng trung bình đánh bóng, 49) so với số lượng cơ hội để đánh bóng (được đo bằng bat, 50), bạn sẽ thấy hai mẫu:
9Điều này cũng có ý nghĩa quan trọng cho xếp hạng. Nếu bạn ngây thơ sắp xếp trên 53, những người có mức trung bình tốt nhất là may mắn rõ ràng, không có kỹ năng: 0Bạn có thể tìm thấy một lời giải thích tốt về vấn đề này tại http://varianceExplained.org/r/empirical_bayes_baseball/ và http://www.evanmiller.org/how-not-to-sort-by-by Chức năng tóm tắt hữu íchChỉ cần sử dụng phương tiện, số đếm và tổng có thể giúp bạn có một chặng đường dài, nhưng Numpy, Scipy và Pandas cung cấp nhiều chức năng tóm tắt hữu ích khác (hãy nhớ rằng chúng tôi đang sử dụng mô hình phân nhóm SCIPY STATS):
Nhóm theo nhiều biếnHãy cẩn thận khi dần dần đưa ra các bản tóm tắt: Nó OK OK cho các khoản tiền và số lượng, nhưng bạn cần phải suy nghĩ về các phương tiện và phương sai trọng số, và nó không thể thực hiện chính xác cho các số liệu thống kê dựa trên xếp hạng như trung bình. Nói cách khác, tổng số tổng số theo nhóm là tổng tổng, nhưng trung bình của trung bình theo nhóm không phải là trung bình tổng thể. Không nhóm (đặt lại chỉ mục)Nếu bạn cần loại bỏ nhóm và đa nhóm sử dụng 87. Đây là một tương đương thô với 88 trong R nhưng nó không giống nhau. Lưu ý các tên cột không còn ở nhiều cấp độ. 9Bài tập
Biến đổi được nhóm (và bộ lọc)Nhóm là hữu ích nhất kết hợp với 28, nhưng bạn cũng có thể thực hiện các hoạt động thuận tiện với 92. Đây là một sự khác biệt về gấu trúc so với DPPLYR. Khi bạn tạo một đối tượng 33, bạn không thể sử dụng 69 và tương đương tốt nhất là 92. Theo hướng dẫn của Groupby GroupBy về ’-apply-bombine, chúng tôi sẽ gán các biến được chuyển cho khung dữ liệu của chúng tôi và sau đó thực hiện các bộ lọc trên khung dữ liệu đầy đủ.
Bài tập
Chuyển đổi dữ liệu giải thích với ví dụ là gì?Chuyển đổi dữ liệu là gì? Theo thuật ngữ ngụ ý, chuyển đổi dữ liệu có nghĩa là lấy dữ liệu được lưu trữ ở một định dạng và chuyển đổi nó sang một định dạng khác. Là người dùng cuối máy tính, bạn có thể thực hiện các phép biến đổi dữ liệu cơ bản trên cơ sở thường xuyên. Ví dụ, khi bạn chuyển đổi tệp Microsoft Word thành PDF, bạn đang chuyển đổi dữ liệu.taking data stored in one format and converting it to another. As a computer end-user, you probably perform basic data transformations on a routine basis. When you convert a Microsoft Word file to a PDF, for example, you are transforming data.
Phương pháp chuyển đổi dữ liệu là gì?Chuyển đổi dữ liệu trong khai thác dữ liệu được thực hiện để kết hợp dữ liệu phi cấu trúc với dữ liệu có cấu trúc để phân tích nó sau.Nó cũng rất quan trọng khi dữ liệu được chuyển sang kho dữ liệu đám mây mới.Khi dữ liệu đồng nhất và có cấu trúc tốt, việc phân tích và tìm kiếm các mẫu sẽ dễ dàng hơn.
Python có thể được sử dụng để chuyển đổi dữ liệu không?Hàm biến đổi trong Python là gì?Hàm biến đổi của Python trả về một khung dữ liệu tự sản xuất với các giá trị được chuyển đổi sau khi áp dụng hàm được chỉ định trong tham số của nó.DataFrame này có cùng độ dài với khung dữ liệu được truyền.Python's Transform function returns a self-produced dataframe with transformed values after applying the function specified in its parameter. This dataframe has the same length as the passed dataframe.
Chuyển đổi dữ liệu trong học máy là gì?Ngày 17 tháng 10 năm 2022. Chuyển đổi dữ liệu được định nghĩa là quy trình kỹ thuật chuyển đổi dữ liệu từ định dạng, tiêu chuẩn hoặc cấu trúc này sang cấu trúc khác - mà không thay đổi nội dung của các bộ dữ liệu - thường là để chuẩn bị cho ứng dụng hoặc người dùng tiêu thụ hoặc để cải thiệnChất lượng dữ liệu.the technical process of converting data from one format, standard, or structure to another – without changing the content of the datasets – typically to prepare it for consumption by an app or a user or to improve the data quality. |