Hướng dẫn how to clean data in excel using python - cách xóa dữ liệu trong excel bằng 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: Làm sạch dữ liệu bằng gấu trúc và Numpy This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Data Cleaning With pandas and NumPy Show
Các nhà khoa học dữ liệu dành một lượng lớn thời gian của họ để làm sạch các bộ dữ liệu và đưa chúng xuống một hình thức mà họ có thể làm việc. Trên thực tế, rất nhiều nhà khoa học dữ liệu cho rằng các bước ban đầu để thu thập và làm sạch dữ liệu chiếm 80% công việc. Do đó, nếu bạn chỉ bước vào lĩnh vực này hoặc lên kế hoạch bước vào lĩnh vực này, điều quan trọng là có thể đối phó với dữ liệu lộn xộn, cho dù điều đó có nghĩa là các giá trị bị thiếu, định dạng không nhất quán, hồ sơ không phù hợp hoặc các ngoại lệ vô nghĩa. Trong hướng dẫn này, chúng tôi sẽ tận dụng các thư viện Python và các thư viện Numpy để làm sạch dữ liệu. Chúng tôi sẽ bao gồm những điều sau đây:
Dưới đây là các bộ dữ liệu mà chúng tôi sẽ sử dụng:
Bạn có thể tải xuống các bộ dữ liệu từ kho lưu trữ GitHub thực sự Python để tuân theo các ví dụ ở đây. Hướng dẫn này giả định một sự hiểu biết cơ bản về các thư viện gấu trúc và numpy, bao gồm các đối tượng Panda, công việc 8 và 4, các phương pháp phổ biến có thể được áp dụng cho các đối tượng này và làm quen với các giá trị Numpy.Hãy để nhập khẩu các mô -đun cần thiết và bắt đầu! >>>
Các cột rơi trong một >>> df.head() Identifier Place of Publication Date of Publication \ 0 206 London 1879 [1878] 1 216 London; Virtue & Yorston 1868 2 218 London 1869 3 472 London 1851 4 480 London 1857 Publisher Title \ 0 S. Tinsley & Co. Walter Forbes. [A novel.] By A. A 1 Virtue & Co. All for Greed. [A novel. The dedication signed... 2 Bradbury, Evans & Co. Love the Avenger. By the author of “All for Gr... 3 James Darling Welsh Sketches, chiefly ecclesiastical, to the... 4 Wertheim & Macintosh [The World in which I live, and my place in it... Author Flickr URL 0 A. A. http://www.flickr.com/photos/britishlibrary/ta... 1 A., A. A. http://www.flickr.com/photos/britishlibrary/ta... 2 A., A. A. http://www.flickr.com/photos/britishlibrary/ta... 3 A., E. S. http://www.flickr.com/photos/britishlibrary/ta... 4 A., E. S. http://www.flickr.com/photos/britishlibrary/ta... 4Thông thường, bạn sẽ thấy rằng không phải tất cả các danh mục dữ liệu trong bộ dữ liệu đều hữu ích cho bạn. Ví dụ: bạn có thể có một bộ dữ liệu có chứa thông tin học sinh (tên, lớp, tiêu chuẩn, tên của phụ huynh và địa chỉ) nhưng muốn tập trung vào việc phân tích các lớp học sinh. Trong trường hợp này, các danh mục tên địa chỉ hoặc cha mẹ không quan trọng đối với bạn. Việc giữ lại các danh mục không cần thiết này sẽ chiếm không gian không cần thiết và có khả năng cũng không hoạt động. Pandas cung cấp một cách tiện dụng để loại bỏ các cột hoặc hàng không mong muốn từ 4 với hàm 3. Hãy cùng xem một ví dụ đơn giản trong đó chúng ta thả một số cột từ 4.Đầu tiên, hãy để Lôi tạo một 4 trong tệp CSV ‘bl-flickr-ifages-book.csv. Trong các ví dụ dưới đây, chúng tôi chuyển một đường dẫn tương đối đến 6, có nghĩa là tất cả các bộ dữ liệu đều nằm trong một thư mục có tên 7 trong thư mục làm việc hiện tại của chúng tôi:>>>
Các cột rơi trong một 4>>>
Các cột rơi trong một 4>>>
>>>
Các cột rơi trong một >>> df.head() Identifier Place of Publication Date of Publication \ 0 206 London 1879 [1878] 1 216 London; Virtue & Yorston 1868 2 218 London 1869 3 472 London 1851 4 480 London 1857 Publisher Title \ 0 S. Tinsley & Co. Walter Forbes. [A novel.] By A. A 1 Virtue & Co. All for Greed. [A novel. The dedication signed... 2 Bradbury, Evans & Co. Love the Avenger. By the author of “All for Gr... 3 James Darling Welsh Sketches, chiefly ecclesiastical, to the... 4 Wertheim & Macintosh [The World in which I live, and my place in it... Author Flickr URL 0 A. A. http://www.flickr.com/photos/britishlibrary/ta... 1 A., A. A. http://www.flickr.com/photos/britishlibrary/ta... 2 A., A. A. http://www.flickr.com/photos/britishlibrary/ta... 3 A., E. S. http://www.flickr.com/photos/britishlibrary/ta... 4 A., E. S. http://www.flickr.com/photos/britishlibrary/ta... 4Thông thường, bạn sẽ thấy rằng không phải tất cả các danh mục dữ liệu trong bộ dữ liệu đều hữu ích cho bạn. Ví dụ: bạn có thể có một bộ dữ liệu có chứa thông tin học sinh (tên, lớp, tiêu chuẩn, tên của phụ huynh và địa chỉ) nhưng muốn tập trung vào việc phân tích các lớp học sinh. Trong trường hợp này, các danh mục tên địa chỉ hoặc cha mẹ không quan trọng đối với bạn. Việc giữ lại các danh mục không cần thiết này sẽ chiếm không gian không cần thiết và có khả năng cũng không hoạt động. >>>
>>>
>>>
Nói cách khác, 206 là nhãn đầu tiên của chỉ mục. Để truy cập nó theo vị trí, chúng tôi có thể sử dụng 9, chỉ lập chỉ mục dựa trên vị trí.Trước đây, chỉ mục của chúng tôi là một phạm vi Index: các số nguyên bắt đầu từ 0, tương tự như Python, tích hợp 1. Bằng cách chuyển một tên cột cho 6, chúng tôi đã thay đổi chỉ mục thành các giá trị trong 5.Bạn có thể nhận thấy rằng chúng tôi đã chỉ định lại biến cho đối tượng được trả về bằng phương thức với 4. Điều này là do, theo mặc định, phương thức trả về một bản sao đã sửa đổi của đối tượng của chúng tôi và không thực hiện các thay đổi trực tiếp cho đối tượng. Chúng ta có thể tránh điều này bằng cách đặt tham số 7:
Dọn dẹp các trường trong dữ liệuCho đến nay, chúng tôi đã loại bỏ các cột không cần thiết và thay đổi chỉ số của 4 của chúng tôi thành một cái gì đó hợp lý hơn. Trong phần này, chúng tôi sẽ làm sạch các cột cụ thể và đưa chúng đến một định dạng thống nhất để hiểu rõ hơn về bộ dữ liệu và thực thi tính nhất quán. Cụ thể, chúng tôi sẽ làm sạch 7 và 8.Sau khi kiểm tra, tất cả các loại dữ liệu hiện là 9 DTYPE, tương tự như 0 trong Python bản địa.Nó gói gọn bất kỳ trường nào có thể phù hợp gọn gàng như dữ liệu bằng số hoặc phân loại. Điều này có ý nghĩa vì chúng tôi làm việc với dữ liệu ban đầu là một loạt các chuỗi lộn xộn: >>>
Một lĩnh vực có ý nghĩa khi thực thi giá trị số là ngày xuất bản để chúng ta có thể tính toán xuống đường: >>> 0Một cuốn sách cụ thể chỉ có thể có một ngày xuất bản. Do đó, chúng ta cần phải làm như sau:
Tổng hợp các mẫu, chúng ta thực sự có thể tận dụng một biểu thức chính quy duy nhất để trích xuất năm xuất bản: Biểu thức thông thường ở trên có nghĩa là tìm thấy bất kỳ bốn chữ số nào ở đầu chuỗi, đủ cho trường hợp của chúng tôi. Trên đây là một chuỗi thô (có nghĩa là dấu gạch chéo ngược không còn là ký tự thoát), đó là cách thực hành tiêu chuẩn với các biểu thức thông thường. 4 đại diện cho bất kỳ chữ số nào và 5 lặp lại quy tắc này bốn lần. Nhân vật 6 phù hợp với sự khởi đầu của một chuỗi và dấu ngoặc đơn biểu thị một nhóm bắt giữ, báo hiệu cho gấu trúc mà chúng tôi muốn trích xuất phần đó của regex. (Chúng tôi muốn 6 để tránh các trường hợp trong đó 8 bắt đầu chuỗi.)Hãy để xem những gì xảy ra khi chúng ta chạy Regex này trên bộ dữ liệu của chúng ta: >>> 1Về mặt kỹ thuật, cột này vẫn có 9 DTYPE, nhưng chúng ta có thể dễ dàng nhận phiên bản số của nó với 0:>>> 2Điều này dẫn đến khoảng một trong mười giá trị bị thiếu, đây là một mức giá nhỏ để trả cho việc có thể thực hiện tính toán trên các giá trị hợp lệ còn lại: >>> 3Tuyệt quá! Đã xong! Kết hợp các phương pháp df.set_index('Identifier', inplace=True) 0 với các cột làm sạch để làm sạchỞ trên, bạn có thể nhận thấy việc sử dụng 2. Thuộc tính này là một cách để truy cập các hoạt động chuỗi tốc độ trong các gấu trúc phần lớn bắt chước các hoạt động trên các chuỗi python bản địa hoặc biên dịch các biểu thức chính quy, chẳng hạn như 3, 4 và 5.Để làm sạch trường 8, chúng ta có thể kết hợp các phương pháp pandas 0 với chức năng Numpy, ____998, về cơ bản là một dạng vectơ của macro ____ ____99. Nó có cú pháp sau:>>> 4Ở đây, 00 là một đối tượng giống như mảng hoặc mặt nạ boolean. 01 là giá trị được sử dụng nếu 00 đánh giá thành 8 và 04 là giá trị được sử dụng khác.Về cơ bản, 05 lấy mỗi phần tử trong đối tượng được sử dụng cho 00, kiểm tra xem phần tử cụ thể đó có đánh giá thành 8 trong bối cảnh của điều kiện hay không và trả về 08 chứa 01 hoặc 04, tùy thuộc vào áp dụng.Nó có thể được lồng vào một câu lệnh if-then, cho phép chúng tôi tính toán các giá trị dựa trên nhiều điều kiện: >>> 5Chúng tôi sẽ sử dụng hai chức năng này để làm sạch 8 vì cột này có các đối tượng chuỗi. Dưới đây là nội dung của cột:>>> 6Chúng tôi thấy rằng đối với một số hàng, nơi xuất bản được bao quanh bởi các thông tin không cần thiết khác. Nếu chúng ta xem xét nhiều giá trị hơn, chúng ta sẽ thấy rằng đây chỉ là một số hàng có vị trí xuất bản của chúng là ‘London, hoặc‘ Oxford. Hãy cùng xem hai mục cụ thể: >>> 7Hai cuốn sách này đã được xuất bản ở cùng một nơi, nhưng một cuốn có dấu gạch nối dưới tên của nơi này trong khi cuốn còn lại thì không. Để làm sạch cột này trong một lần quét, chúng ta có thể sử dụng 12 để có được mặt nạ boolean.Chúng tôi làm sạch cột như sau: >>> 8Hai cuốn sách này đã được xuất bản ở cùng một nơi, nhưng một cuốn có dấu gạch nối dưới tên của nơi này trong khi cuốn còn lại thì không. >>> 9Hai cuốn sách này đã được xuất bản ở cùng một nơi, nhưng một cuốn có dấu gạch nối dưới tên của nơi này trong khi cuốn còn lại thì không. Để làm sạch cột này trong một lần quét, chúng ta có thể sử dụng 12 để có được mặt nạ boolean.Chúng tôi làm sạch cột như sau: Chúng tôi kết hợp chúng với 8:>>> 0Ở đây, hàm >>> df.get_dtype_counts() object 6 8 được gọi trong một cấu trúc lồng nhau, với >>> df = pd.read_csv('Datasets/BL-Flickr-Images-Book.csv') >>> df.head() Identifier Edition Statement Place of Publication \ 0 206 NaN London 1 216 NaN London; Virtue & Yorston 2 218 NaN London 3 472 NaN London 4 480 A new edition, revised, etc. London Date of Publication Publisher \ 0 1879 [1878] S. Tinsley & Co. 1 1868 Virtue & Co. 2 1869 Bradbury, Evans & Co. 3 1851 James Darling 4 1857 Wertheim & Macintosh Title Author \ 0 Walter Forbes. [A novel.] By A. A A. A. 1 All for Greed. [A novel. The dedication signed... A., A. A. 2 Love the Avenger. By the author of “All for Gr... A., A. A. 3 Welsh Sketches, chiefly ecclesiastical, to the... A., E. S. 4 [The World in which I live, and my place in it... A., E. S. Contributors Corporate Author \ 0 FORBES, Walter. NaN 1 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 2 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 3 Appleyard, Ernest Silvanus. NaN 4 BROOME, John Henry. NaN Corporate Contributors Former owner Engraver Issuance type \ 0 NaN NaN NaN monographic 1 NaN NaN NaN monographic 2 NaN NaN NaN monographic 3 NaN NaN NaN monographic 4 NaN NaN NaN monographic Flickr URL \ 0 http://www.flickr.com/photos/britishlibrary/ta... 1 http://www.flickr.com/photos/britishlibrary/ta... 2 http://www.flickr.com/photos/britishlibrary/ta... 3 http://www.flickr.com/photos/britishlibrary/ta... 4 http://www.flickr.com/photos/britishlibrary/ta... Shelfmarks 0 British Library HMNTS 12641.b.30. 1 British Library HMNTS 12626.cc.2. 2 British Library HMNTS 12625.dd.1. 3 British Library HMNTS 10369.bbb.15. 4 British Library HMNTS 9007.d.28. 00 là >>> df.head() Identifier Place of Publication Date of Publication \ 0 206 London 1879 [1878] 1 216 London; Virtue & Yorston 1868 2 218 London 1869 3 472 London 1851 4 480 London 1857 Publisher Title \ 0 S. Tinsley & Co. Walter Forbes. [A novel.] By A. A 1 Virtue & Co. All for Greed. [A novel. The dedication signed... 2 Bradbury, Evans & Co. Love the Avenger. By the author of “All for Gr... 3 James Darling Welsh Sketches, chiefly ecclesiastical, to the... 4 Wertheim & Macintosh [The World in which I live, and my place in it... Author Flickr URL 0 A. A. http://www.flickr.com/photos/britishlibrary/ta... 1 A., A. A. http://www.flickr.com/photos/britishlibrary/ta... 2 A., A. A. http://www.flickr.com/photos/britishlibrary/ta... 3 A., E. S. http://www.flickr.com/photos/britishlibrary/ta... 4 A., E. S. http://www.flickr.com/photos/britishlibrary/ta... 8 của booleans thu được với >>> df = pd.read_csv('Datasets/BL-Flickr-Images-Book.csv') >>> df.head() Identifier Edition Statement Place of Publication \ 0 206 NaN London 1 216 NaN London; Virtue & Yorston 2 218 NaN London 3 472 NaN London 4 480 A new edition, revised, etc. London Date of Publication Publisher \ 0 1879 [1878] S. Tinsley & Co. 1 1868 Virtue & Co. 2 1869 Bradbury, Evans & Co. 3 1851 James Darling 4 1857 Wertheim & Macintosh Title Author \ 0 Walter Forbes. [A novel.] By A. A A. A. 1 All for Greed. [A novel. The dedication signed... A., A. A. 2 Love the Avenger. By the author of “All for Gr... A., A. A. 3 Welsh Sketches, chiefly ecclesiastical, to the... A., E. S. 4 [The World in which I live, and my place in it... A., E. S. Contributors Corporate Author \ 0 FORBES, Walter. NaN 1 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 2 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 3 Appleyard, Ernest Silvanus. NaN 4 BROOME, John Henry. NaN Corporate Contributors Former owner Engraver Issuance type \ 0 NaN NaN NaN monographic 1 NaN NaN NaN monographic 2 NaN NaN NaN monographic 3 NaN NaN NaN monographic 4 NaN NaN NaN monographic Flickr URL \ 0 http://www.flickr.com/photos/britishlibrary/ta... 1 http://www.flickr.com/photos/britishlibrary/ta... 2 http://www.flickr.com/photos/britishlibrary/ta... 3 http://www.flickr.com/photos/britishlibrary/ta... 4 http://www.flickr.com/photos/britishlibrary/ta... Shelfmarks 0 British Library HMNTS 12641.b.30. 1 British Library HMNTS 12626.cc.2. 2 British Library HMNTS 12625.dd.1. 3 British Library HMNTS 10369.bbb.15. 4 British Library HMNTS 9007.d.28. 12. Phương thức >>> df = pd.read_csv('Datasets/BL-Flickr-Images-Book.csv') >>> df.head() Identifier Edition Statement Place of Publication \ 0 206 NaN London 1 216 NaN London; Virtue & Yorston 2 218 NaN London 3 472 NaN London 4 480 A new edition, revised, etc. London Date of Publication Publisher \ 0 1879 [1878] S. Tinsley & Co. 1 1868 Virtue & Co. 2 1869 Bradbury, Evans & Co. 3 1851 James Darling 4 1857 Wertheim & Macintosh Title Author \ 0 Walter Forbes. [A novel.] By A. A A. A. 1 All for Greed. [A novel. The dedication signed... A., A. A. 2 Love the Avenger. By the author of “All for Gr... A., A. A. 3 Welsh Sketches, chiefly ecclesiastical, to the... A., E. S. 4 [The World in which I live, and my place in it... A., E. S. Contributors Corporate Author \ 0 FORBES, Walter. NaN 1 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 2 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 3 Appleyard, Ernest Silvanus. NaN 4 BROOME, John Henry. NaN Corporate Contributors Former owner Engraver Issuance type \ 0 NaN NaN NaN monographic 1 NaN NaN NaN monographic 2 NaN NaN NaN monographic 3 NaN NaN NaN monographic 4 NaN NaN NaN monographic Flickr URL \ 0 http://www.flickr.com/photos/britishlibrary/ta... 1 http://www.flickr.com/photos/britishlibrary/ta... 2 http://www.flickr.com/photos/britishlibrary/ta... 3 http://www.flickr.com/photos/britishlibrary/ta... 4 http://www.flickr.com/photos/britishlibrary/ta... Shelfmarks 0 British Library HMNTS 12641.b.30. 1 British Library HMNTS 12626.cc.2. 2 British Library HMNTS 12625.dd.1. 3 British Library HMNTS 10369.bbb.15. 4 British Library HMNTS 9007.d.28. 18 hoạt động tương tự như từ khóa >>> df = pd.read_csv('Datasets/BL-Flickr-Images-Book.csv') >>> df.head() Identifier Edition Statement Place of Publication \ 0 206 NaN London 1 216 NaN London; Virtue & Yorston 2 218 NaN London 3 472 NaN London 4 480 A new edition, revised, etc. London Date of Publication Publisher \ 0 1879 [1878] S. Tinsley & Co. 1 1868 Virtue & Co. 2 1869 Bradbury, Evans & Co. 3 1851 James Darling 4 1857 Wertheim & Macintosh Title Author \ 0 Walter Forbes. [A novel.] By A. A A. A. 1 All for Greed. [A novel. The dedication signed... A., A. A. 2 Love the Avenger. By the author of “All for Gr... A., A. A. 3 Welsh Sketches, chiefly ecclesiastical, to the... A., E. S. 4 [The World in which I live, and my place in it... A., E. S. Contributors Corporate Author \ 0 FORBES, Walter. NaN 1 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 2 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 3 Appleyard, Ernest Silvanus. NaN 4 BROOME, John Henry. NaN Corporate Contributors Former owner Engraver Issuance type \ 0 NaN NaN NaN monographic 1 NaN NaN NaN monographic 2 NaN NaN NaN monographic 3 NaN NaN NaN monographic 4 NaN NaN NaN monographic Flickr URL \ 0 http://www.flickr.com/photos/britishlibrary/ta... 1 http://www.flickr.com/photos/britishlibrary/ta... 2 http://www.flickr.com/photos/britishlibrary/ta... 3 http://www.flickr.com/photos/britishlibrary/ta... 4 http://www.flickr.com/photos/britishlibrary/ta... Shelfmarks 0 British Library HMNTS 12641.b.30. 1 British Library HMNTS 12626.cc.2. 2 British Library HMNTS 12625.dd.1. 3 British Library HMNTS 10369.bbb.15. 4 British Library HMNTS 9007.d.28. 19 tích hợp được sử dụng để tìm thấy sự xuất hiện của một thực thể trong một điều không thể điều chỉnh được (hoặc chuỗi con trong một chuỗi).Việc thay thế được sử dụng là một chuỗi đại diện cho địa điểm xuất bản mong muốn của chúng tôi. Chúng tôi cũng thay thế dấu gạch nối bằng một không gian bằng 20 và gán lại cho cột trong 4 của chúng tôi.Mặc dù có nhiều dữ liệu bẩn hơn trong bộ dữ liệu này, chúng tôi sẽ chỉ thảo luận về hai cột này bây giờ. Hãy để một cái nhìn vào năm mục đầu tiên, trông rất nhiều so với khi chúng tôi bắt đầu: 1Làm sạch toàn bộ bộ dữ liệu bằng hàm 22Trong một số tình huống nhất định, bạn sẽ thấy rằng bụi bẩn của người Hồi giáo không được định vị thành một cột nhưng được lan truyền nhiều hơn. >>> 2Có một số trường hợp sẽ hữu ích khi áp dụng chức năng tùy chỉnh cho từng ô hoặc phần tử của DataFrame. Phương pháp PANDAS 23 tương tự như hàm 24 được xây dựng và chỉ cần áp dụng một hàm cho tất cả các phần tử trong 4.Hãy cùng nhìn vào một ví dụ. Chúng tôi sẽ tạo ra một 4 trong tập tin của Đại học_Towns.txt.>>> 3Chúng tôi thấy rằng chúng tôi có tên nhà nước định kỳ theo sau là các thị trấn đại học ở tiểu bang đó: 27. Nếu chúng ta nhìn vào cách viết tên trạng thái trong tệp, chúng ta sẽ thấy rằng tất cả chúng đều có phần phụ [chỉnh sửa] [Chỉnh sửa].Chúng ta có thể tận dụng mẫu này bằng cách tạo một danh sách các bộ dữ liệu 28 và gói danh sách đó trong một 4:>>> 4Chúng ta có thể kết thúc danh sách này trong một khung dữ liệu và đặt các cột là trạng thái của Bang và khu vực. Pandas sẽ đưa từng phần tử trong danh sách và đặt 30 thành giá trị bên trái và 31 thành giá trị phù hợp.>>> 5DataFrame kết quả trông như thế này: >>> 6Mặc dù chúng ta có thể đã làm sạch các chuỗi này trong vòng lặp trên, Pandas làm cho nó dễ dàng. Chúng tôi chỉ cần tên nhà nước và tên thị trấn và có thể xóa mọi thứ khác. Mặc dù chúng tôi có thể sử dụng các phương thức Pandas, 6 một lần nữa ở đây, chúng tôi cũng có thể sử dụng 33 để ánh xạ một python có thể gọi cho từng yếu tố của dataFrame.Chúng ta đã sử dụng yếu tố thuật ngữ, nhưng chính xác thì chúng ta có nghĩa là gì? Hãy xem xét các bản dữ liệu của Đồ chơi sau đây: DataFrame: >>> 7Trong ví dụ này, mỗi ô (‘mock,‘ dataset, ‘python,‘ pandas, v.v.) là một yếu tố. Do đó, 33 sẽ áp dụng một chức năng cho từng chức năng này một cách độc lập. Hãy để xác định chức năng đó:
Pandas xông >>> df = pd.read_csv('Datasets/BL-Flickr-Images-Book.csv') >>> df.head() Identifier Edition Statement Place of Publication \ 0 206 NaN London 1 216 NaN London; Virtue & Yorston 2 218 NaN London 3 472 NaN London 4 480 A new edition, revised, etc. London Date of Publication Publisher \ 0 1879 [1878] S. Tinsley & Co. 1 1868 Virtue & Co. 2 1869 Bradbury, Evans & Co. 3 1851 James Darling 4 1857 Wertheim & Macintosh Title Author \ 0 Walter Forbes. [A novel.] By A. A A. A. 1 All for Greed. [A novel. The dedication signed... A., A. A. 2 Love the Avenger. By the author of “All for Gr... A., A. A. 3 Welsh Sketches, chiefly ecclesiastical, to the... A., E. S. 4 [The World in which I live, and my place in it... A., E. S. Contributors Corporate Author \ 0 FORBES, Walter. NaN 1 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 2 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 3 Appleyard, Ernest Silvanus. NaN 4 BROOME, John Henry. NaN Corporate Contributors Former owner Engraver Issuance type \ 0 NaN NaN NaN monographic 1 NaN NaN NaN monographic 2 NaN NaN NaN monographic 3 NaN NaN NaN monographic 4 NaN NaN NaN monographic Flickr URL \ 0 http://www.flickr.com/photos/britishlibrary/ta... 1 http://www.flickr.com/photos/britishlibrary/ta... 2 http://www.flickr.com/photos/britishlibrary/ta... 3 http://www.flickr.com/photos/britishlibrary/ta... 4 http://www.flickr.com/photos/britishlibrary/ta... Shelfmarks 0 British Library HMNTS 12641.b.30. 1 British Library HMNTS 12626.cc.2. 2 British Library HMNTS 12625.dd.1. 3 British Library HMNTS 10369.bbb.15. 4 British Library HMNTS 9007.d.28. 23 chỉ lấy một tham số, đó là hàm (có thể gọi được) nên được áp dụng cho từng phần tử:Đầu tiên, chúng tôi xác định hàm python lấy phần tử từ 4 làm tham số của nó. Bên trong hàm, kiểm tra được thực hiện để xác định xem có một 37 hay 8 trong phần tử hay không.Tùy thuộc vào kiểm tra, các giá trị được trả về tương ứng bởi hàm. Cuối cùng, hàm 33 được gọi trên đối tượng của chúng tôi. Bây giờ DataFrame đã gọn gàng hơn nhiều:Phương thức 33 đã lấy từng phần tử từ DataFrame, chuyển nó cho hàm và giá trị ban đầu được thay thế bằng giá trị trả về. Nó đơn giản mà! 8Đổi tên các cột và bỏ qua hàng >>> 9Thông thường, các bộ dữ liệu mà bạn sẽ làm việc sẽ có tên cột không dễ hiểu hoặc thông tin không quan trọng trong một vài hàng đầu tiên và/hoặc các hàng cuối cùng, chẳng hạn như định nghĩa của các thuật ngữ trong bộ dữ liệu hoặc chú thích. Trong trường hợp đó, chúng tôi muốn đổi tên các cột và bỏ qua một số hàng nhất định để chúng tôi có thể đi sâu vào thông tin cần thiết với các nhãn chính xác và hợp lý. Do đó, chúng ta cần phải làm hai điều:
Chúng ta có thể bỏ qua các hàng và đặt tiêu đề trong khi đọc tệp CSV bằng cách chuyển một số tham số cho hàm 45.Chức năng này mất rất nhiều tham số tùy chọn, nhưng trong trường hợp này, chúng tôi chỉ cần một ( 46) để xóa hàng thứ 0:>>> 0Bây giờ chúng tôi có hàng chính xác được đặt là tiêu đề và tất cả các hàng không cần thiết bị xóa. Hãy lưu ý về cách gấu trúc đã thay đổi tên của cột chứa tên của các quốc gia từ 0 thành 48.Để đổi tên các cột, chúng tôi sẽ sử dụng phương thức DataFrame từ 49, cho phép bạn đăng lại một trục dựa trên ánh xạ (trong trường hợp này là 50).Hãy bắt đầu bằng cách xác định một từ điển ánh xạ các tên cột hiện tại (là khóa) cho các tên có thể sử dụng nhiều hơn (các giá trị từ điển): >>> 1Bây giờ chúng tôi có hàng chính xác được đặt là tiêu đề và tất cả các hàng không cần thiết bị xóa. Hãy lưu ý về cách gấu trúc đã thay đổi tên của cột chứa tên của các quốc gia từ 0 thành 48.>>> 2Bây giờ chúng tôi có hàng chính xác được đặt là tiêu đề và tất cả các hàng không cần thiết bị xóa. Hãy lưu ý về cách gấu trúc đã thay đổi tên của cột chứa tên của các quốc gia từ 0 thành 48.>>> 3Bây giờ chúng tôi có hàng chính xác được đặt là tiêu đề và tất cả các hàng không cần thiết bị xóa. Hãy lưu ý về cách gấu trúc đã thay đổi tên của cột chứa tên của các quốc gia từ >>> df.drop(columns=to_drop, inplace=True) 0 thành >>> df = pd.read_csv('Datasets/BL-Flickr-Images-Book.csv') >>> df.head() Identifier Edition Statement Place of Publication \ 0 206 NaN London 1 216 NaN London; Virtue & Yorston 2 218 NaN London 3 472 NaN London 4 480 A new edition, revised, etc. London Date of Publication Publisher \ 0 1879 [1878] S. Tinsley & Co. 1 1868 Virtue & Co. 2 1869 Bradbury, Evans & Co. 3 1851 James Darling 4 1857 Wertheim & Macintosh Title Author \ 0 Walter Forbes. [A novel.] By A. A A. A. 1 All for Greed. [A novel. The dedication signed... A., A. A. 2 Love the Avenger. By the author of “All for Gr... A., A. A. 3 Welsh Sketches, chiefly ecclesiastical, to the... A., E. S. 4 [The World in which I live, and my place in it... A., E. S. Contributors Corporate Author \ 0 FORBES, Walter. NaN 1 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 2 BLAZE DE BURY, Marie Pauline Rose - Baroness NaN 3 Appleyard, Ernest Silvanus. NaN 4 BROOME, John Henry. NaN Corporate Contributors Former owner Engraver Issuance type \ 0 NaN NaN NaN monographic 1 NaN NaN NaN monographic 2 NaN NaN NaN monographic 3 NaN NaN NaN monographic 4 NaN NaN NaN monographic Flickr URL \ 0 http://www.flickr.com/photos/britishlibrary/ta... 1 http://www.flickr.com/photos/britishlibrary/ta... 2 http://www.flickr.com/photos/britishlibrary/ta... 3 http://www.flickr.com/photos/britishlibrary/ta... 4 http://www.flickr.com/photos/britishlibrary/ta... Shelfmarks 0 British Library HMNTS 12641.b.30. 1 British Library HMNTS 12626.cc.2. 2 British Library HMNTS 12625.dd.1. 3 British Library HMNTS 10369.bbb.15. 4 British Library HMNTS 9007.d.28. 48.Để đổi tên các cột, chúng tôi sẽ sử dụng phương thức DataFrame từ 49, cho phép bạn đăng lại một trục dựa trên ánh xạ (trong trường hợp này là 50).Hãy bắt đầu bằng cách xác định một từ điển ánh xạ các tên cột hiện tại (là khóa) cho các tên có thể sử dụng nhiều hơn (các giá trị từ điển): Chúng tôi gọi hàm 49 trên đối tượng của chúng tôi:Cài đặt tại 8 chỉ định rằng các thay đổi của chúng tôi được thực hiện trực tiếp cho đối tượng. Hãy để xem nếu điều này kiểm tra ra:
Kiểm tra các liên kết dưới đây để tìm thêm tài nguyên sẽ giúp bạn trên hành trình khoa học dữ liệu Python của bạn: This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Data Cleaning With pandas and NumPy Cách nhanh nhất để làm sạch dữ liệu trong Excel là gì?Top 8 kỹ thuật làm sạch dữ liệu Excel cần biết.. Loại bỏ các bản sao. Một trong những cách dễ nhất để làm sạch dữ liệu trong Excel là loại bỏ các bản sao. .... Phân tích dữ liệu từ văn bản đến cột. .... Xóa tất cả các định dạng. .... Kiểm tra chính tả. .... Thay đổi trường hợp - thấp hơn/trên/thích hợp. .... Đánh dấu lỗi. .... Chức năng cắt. .... Tìm và thay thế.. Python có tốt nhất để làm sạch dữ liệu không?Tầm quan trọng của Python, Numpy và Pandas, cả hai thư viện Python (có nghĩa là các công cụ được lập trình sẵn) là những công cụ được lựa chọn giữa các nhà khoa học dữ liệu khi nói đến làm sạch dữ liệu, chuẩn bị và phân tích khác.both Python libraries (meaning pre-programmed toolsets) are the tools of choice amongst data scientists when it comes to data cleaning, prep, and other analysis.
Gấu trúc có thể được sử dụng để làm sạch dữ liệu không?Pandas cung cấp một loạt các chức năng tích hợp có thể được sử dụng để làm sạch và thao tác các bộ dữ liệu trước khi phân tích.Nó có thể cho phép bạn thả các hàng và cột không đầy đủ, điền vào các giá trị bị thiếu và cải thiện khả năng đọc của bộ dữ liệu thông qua đổi tên danh mục.. It can allow you to drop incomplete rows and columns, fill missing values and improve the readability of the dataset through category renaming.
Làm thế nào cải thiện excel sử dụng Python?Bạn có thể làm theo các bước dưới đây để đặt Python Excel Automat hóa lên:.. Bước 1: Phân tích bộ dữ liệu Excel .. Bước 2: Tạo bảng trục bằng gấu trúc .. Bước 3: Thiết kế các báo cáo bằng OpenPyXL .. Bước 4: Tự động hóa báo cáo với Python .. Bước 5: Lên lịch cho tập lệnh Python .. |