Hướng dẫn how do you clean your data in python? - làm cách nào để xóa dữ liệu của bạn trong python?

Hướng dẫn chi tiết về cách làm sạch dữ liệu của bạn để khởi động các dự án cá nhân của bạn

Ảnh của Towfiqu Barbhuiya trên unplash

Khi tôi tham gia chương trình đọc theo hướng của trường đại học của tôi (một chương trình nghiên cứu nhỏ nơi sinh viên đại học được cố vấn bởi các sinh viên tốt nghiệp), tôi chỉ tham gia 2 số liệu thống kê trong các khóa học r. Mặc dù các lớp này đã dạy tôi rất nhiều về cách thao tác dữ liệu, tạo trực quan hóa dữ liệu và trích xuất các phân tích, làm việc trong dự án cá nhân đầu tiên của tôi trong chương trình khiến tôi nhận ra rằng tôi chưa bao giờ làm việc với dữ liệu lộn xộn. Các khóa học liên quan đến các bộ dữ liệu được dọn dẹp trước và được xử lý nhưng không dạy cho sinh viên cách làm sạch các bộ dữ liệu tạo ra một rào cản để bắt đầu các dự án cá nhân. Do đó, tôi hy vọng rằng bài viết này đóng vai trò là điểm khởi đầu để bạn tìm hiểu cách làm sạch dữ liệu của bạn một cách hiệu quả để khởi động các dự án cá nhân của bạn.realize I had never worked with “messy data”. Those courses involved pre-cleaned and processed datasets but didn’t teach students how to clean datasets which creates a barrier to starting on personal projects. Hence, I hope that this article serves as a starting point for you to learn how to clean your data efficiently to kickstart your personal projects.

Đối với bài viết này, tôi sẽ làm việc với các chương trình truyền hình và bộ phim truyền hình Netflix có nhiều sự không nhất quán và dữ liệu bị thiếu.Netflix TV Shows and Movies Dataset which features many inconsistencies and missing data.

Mục lục

  1. Nhìn vào dữ liệu của bạn
  2. Nhìn vào tỷ lệ dữ liệu bị thiếumissing data
  3. Kiểm tra kiểu dữ liệu của mỗi cộtdata type of each column
  4. Nếu bạn có các cột dây, hãy kiểm tra các khoảng trắng kéo dàitrailing whitespaces
  5. Xử lý các giá trị bị thiếu (giá trị NAN) (NaN Values)
  6. Trích xuất thêm thông tin từ bộ dữ liệu của bạn để có nhiều biến số hơn
  7. Kiểm tra các giá trị duy nhất của các cộtunique values of columns

Tất cả hình ảnh trừ khi có ghi chú khác là của tác giả.

Bước 1: Nhìn vào dữ liệu của bạn

Trước khi thực hiện bất kỳ việc làm sạch hoặc thao tác dữ liệu của bạn, bạn nên có cái nhìn thoáng qua về dữ liệu của mình để hiểu các biến bạn đang làm việc nào, các giá trị được cấu trúc dựa trên cột chúng ở và có thể bạn có thể có Ý tưởng về sự không nhất quán mà bạn sẽ cần giải quyết hoặc chúng sẽ trở nên cồng kềnh trong giai đoạn phân tích. Ở đây, bạn cũng có thể loại bỏ các cột nhất định mà bạn đã giành được tùy thuộc vào phân tích bạn muốn làm.what variables you’re working with, how the values are structured based on the column they’re in, and maybe you could have a rough idea of the inconsistencies that you’ll need to address or they’ll be cumbersome in the analysis phase. Here, you might also be able to eliminate certain columns that you won’t need depending on the analysis you want to do.

1. In một vài hàng đầu tiên của bộ dữ liệu của bạn

Ở đây, tôi đã in 7 hàng đầu tiên của bộ dữ liệu của mình, nhưng bạn có thể in 5 hoặc 10. Tôi khuyên bạn nên giữ nó ở bất cứ thứ gì ít hơn 10 nếu không nó sẽ quá áp đảo cho những gì bạn hiện đang cố gắng thực hiện một cái nhìn thoáng qua nhanh chóng của bộ dữ liệu.

Làm điều này sẽ cho bạn một ý tưởng tốt về những loại dữ liệu bạn có thể xử lý, những cột bạn cần để thực hiện các phép biến đổi hoặc làm sạch và dữ liệu khác mà bạn có thể trích xuất.

Trước khi chúng ta xem xét kỹ hơn điều này, hãy để Lừa thực hiện bước tiếp theo.

2. Lưu các biến vào danh sách

Bạn muốn làm điều này để có quyền truy cập dễ dàng vào các cột khác nhau của bộ dữ liệu, đặc biệt là khi bạn muốn thực hiện các phép biến đổi giống nhau cho các tập hợp con khác nhau của các cột.easy access to the different columns of the dataset, especially when you want to perform the same transformations to different subsets of columns.

3. Lưu ý các vấn đề tiềm năng bạn sẽ phải giải quyết trong mỗi cột.

Để duy trì tổ chức, lưu ý các vấn đề bạn thấy trong bộ dữ liệu của bạn (bằng cách nhìn thoáng qua bộ dữ liệu của bạn như trong Bước 1).

Bức ảnh trên đại diện cho những gì tôi có thể thấy chỉ từ việc nhìn thoáng qua bộ dữ liệu và là thứ mà bạn nên nghĩ về khi bạn nhìn vào bộ dữ liệu của mình. Đây là một vài điều nổi bật với tôi:you should think about when you’re looking at your dataset. Here are a few things that stand out to me:

  • Có một số cột có giá trị bị thiếu. Điều này có thể gây ra rất nhiều vấn đề để phân tích và vẽ sơ đồ nếu không được giải quyết và giải quyết sớm trong quá trình này.
  • Có các cột có từ và số, chẳng hạn như date_addedduration. Đây có thể là một vấn đề nếu chúng ta muốn tạo biểu đồ chuỗi thời gian vào ngày hoặc các lô khác để khám phá mối quan hệ thời lượng với các biến khác.make time-series graphs by the date, or other plots to explore duration’s relationship with other variables.
  • Có 2 cột với nhiều từ riêng biệt được nối với nhau bởi một dấu phẩy. Đây là một vấn đề nếu chúng ta muốn thực hiện các cốt truyện khám phá sự phân phối của listed_in (thể loại) hoặc các diễn viên trên Netflix.plots exploring the distribution of listed_in (genre) or the actors on Netflix.
  • Các cột khác có khả năng có các giá trị bị thiếu. Bước tiếp theo xem xét cách kiểm tra cột nào có giá trị bị thiếu và số lượng dữ liệu bị thiếu.check which columns have missing values and how much missing data they have.

Bước 2: Nhìn vào tỷ lệ dữ liệu bị thiếu

Từ đoạn mã này, bạn có thể dễ dàng xem phân phối các giá trị bị thiếu trong bộ dữ liệu để có được ý tưởng tốt về các cột nào bạn sẽ cần phải làm việc để giải quyết vấn đề giá trị bị thiếu.

Từ đầu ra, đây là những hiểu biết bạn có thể thu thập được:

  • Cột director có tỷ lệ dữ liệu bị thiếu cao nhất ~ 30%
  • Cột castcountry cũng có tỷ lệ phần trăm đáng kể dữ liệu bị thiếu ~ 9%
  • date_added, ratingduration don lồng có nhiều dữ liệu bị thiếu ~ 0% - 0,1%
  • May mắn thay, hầu hết các cột khác không trống.

Câu hỏi tiếp theo của bạn có lẽ là, làm thế nào để tôi đối phó với các cột này với các giá trị bị thiếu?how do I deal with these columns with missing values?

Có một vài cách để đối phó với nó:

  1. Thả cột hoàn toàn. Nếu cột không phải là quan trọng đối với phân tích của bạn, chỉ cần thả nó.
  2. Giữ cột. Trong trường hợp này, vì các cột director, castcountry khá quan trọng đối với phân tích của tôi, tôi sẽ giữ chúng.the director, cast and country columns are quite important to my analysis, I will keep them.
  3. Cắt giảm - Quá trình thay thế dữ liệu bị thiếu bằng các giá trị thay thế. Ở đây, không thể làm như vậy vì hầu hết dữ liệu là giá trị chuỗi và không phải là giá trị số. Tuy nhiên, tôi sẽ viết một bài viết nói thêm về việc cắt giảm chi tiết, tại sao và khi nào nó nên được sử dụng và cách bạn có thể sử dụng nó trong R và Python với sự trợ giúp của một số gói. Here, it is not possible to do so because most of the data are string values and not numerical values. However, I will be writing an article that talks more about imputation in detail, why and when it should be used, and how you can use it in R and Python with the help of some packages.

Trước khi tôi tiếp tục, tôi sẽ đưa ra vấn đề về các giá trị bị thiếu trên các hàng.across rows.

Trong một số trường hợp, bạn có thể muốn kiểm tra phân phối các giá trị bị thiếu trên tất cả các hàng của bộ dữ liệu của bạn (cho rằng bộ dữ liệu của bạn không có số lượng lớn các quan sát/hàng). Từ đây, bạn có thể chọn từ các lựa chọn ở trên tùy thuộc vào mức độ quan trọng của các hàng đối với phân tích của bạn. Chẳng hạn, bộ dữ liệu của bạn chứa dữ liệu được ghi lại về một cái gì đó đang thay đổi theo thời gian. Mặc dù một hàng có thể chứa các giá trị bị thiếu, bạn có thể không muốn loại bỏ nó vì có thông tin thời gian quan trọng bạn muốn giữ lại.distribution of missing values across all the rows of your dataset (given that your dataset doesn’t have a large number of observations/rows). From here, you can choose from the choices above depending on how important the rows are to your analysis. For instance, your dataset contains recorded data of something that is changing over time. Even though a row can contain missing values, you might not want to eliminate it because there is important time information you want to retain.

Hãy để tiếp tục bước 3 trước khi tôi chỉ cho bạn cách đối phó với các giá trị NAN ngay cả sau khi giữ các cột.

Bước 3: Kiểm tra kiểu dữ liệu của mỗi cột

Ở đây, bạn có thể thấy rằng tất cả các cột có duration0 là kiểu dữ liệu của chúng ngoài duration1. Trong gấu trúc, đối tượng có nghĩa là loại chuỗi hoặc loại hỗn hợp (loại số và không phải là số lượng). Và từ bộ dữ liệu của chúng tôi, bạn sẽ có thể cho biết cột nào là chuỗi và loại hỗn hợp nghiêm ngặt.

Bước 4: Nếu bạn có các cột của chuỗi, hãy kiểm tra các khoảng trắng kéo dài

Sau khi chúng tôi biết chúng tôi đang xử lý các loại dữ liệu nào, hãy để đảm bảo rằng chúng tôi xóa bất kỳ ký tự dấu vết và khoảng trắng nào bằng cách sử dụng duration2.

Bước 5: Xử lý các giá trị bị thiếu (giá trị NAN)

Tham khảo lại các cột của các giá trị bị thiếu, hãy để xem các cột: duration3. Chúng ta có thể phân đoạn các cột này bằng cách chúng là một chuỗi hoặc loại hỗn hợp.

Chuỗi: duration4 (ở đây, nó là một chuỗi và không được trộn lẫn vì các giá trị số won có ý nghĩa nếu được phân tách)

Hỗn hợp: duration5

duration6 có nghĩa là không phải là một số trong gấu trúc. Nó là một giá trị điểm nổi đặc biệt khác với duration7 trong Python. duration6 Các giá trị có thể gây khó chịu khi làm việc, đặc biệt là khi bạn muốn lọc chúng ra cho các lô hoặc phân tích. Để làm cho cuộc sống của chúng ta dễ dàng hơn, hãy để thay thế các giá trị NAN này bằng một thứ khác.replace these NaN values with something else.

Đối với các giá trị loại chuỗi, chúng tôi có thể thay thế các giá trị duration6 bằng cách sử dụng hoặc không có ai hoặc bất kỳ chuỗi nào có thể cho bạn biết rằng không có bất kỳ giá trị nào trong mục nhập đó. Ở đây, tôi đã chọn thay thế nó bằng cách sử dụng chức năng listed_in0. Bởi vì nó không phải là một hàm tại chỗ, tôi đã chỉ định lại các giá trị đã thay đổi cho cột trong bộ dữ liệu.

Ở đây, bạn phải nhận thấy rằng tôi đã bỏ qua cột thời lượng. Điều này là do chúng tôi sẽ làm một cái gì đó với cột đó sau đó.

Bước 6: Xem liệu có bất kỳ biến nào khác mà bạn có thể có được bằng cách trích xuất chúng từ các biến khác không

Đối với các giá trị loại hỗn hợp, trước khi chúng tôi giải quyết vấn đề giá trị bị thiếu, hãy để xem liệu chúng tôi có thể trích xuất bất kỳ dữ liệu nào để phân tích phong phú hơn hoặc xử lý dễ dàng hơn hay không.

Nhìn vào date_added, chúng ta có thể thấy rằng nó chứa tháng, ngày và năm mà bộ phim/chương trình đã được thêm vào. Thay vì có tất cả thông tin này trong một cột, tại sao không cố gắng tách chúng? Bằng cách đó, chúng ta có thể chọn cách cô lập cách tháng hoặc năm tương tác với các biến khác thay vì nhìn vào date_added nơi độ chi tiết của nó sẽ gây khó khăn cho bất kỳ xu hướng nào được phát hiện.

Dưới đây, tôi đã viết mã để không chỉ tách thông tin thành 2 cột khác mà còn lọc ra các hàng có giá trị duration6 và thay thế chúng bằng 0, giống như những gì đã được thực hiện trước đó với

Bây giờ, bộ dữ liệu mới chứa các cột listed_in4 và listed_in5. Điều này sẽ cho phép chúng tôi thực hiện một số phân tích xu hướng sau này.

Nhìn vào duration, trên đỉnh của nó là một loại hỗn hợp, cũng có 2 đơn vị thời gian khác nhau trong cột này. Đây là một vấn đề vì chúng tôi đang xử lý 2 loại nội dung khác nhau được đo khác nhau về thời gian. Do đó, việc tạo biểu đồ cho duration sẽ khá khó diễn giải nếu chúng ta giữ chúng như vậy. Điều tốt là có nhiều cách để đối phó với vấn đề này. Cách tôi đã chọn để đối phó với nó là bằng cách tách loại nội dung thành 2 bộ dữ liệu khác nhau và tự nhiên, cột thời lượng sẽ chỉ là số và chỉ có 1 loại đơn vị thời gian. Bằng cách này, bạn có thể dễ dàng và rõ ràng vẽ sơ đồ bằng cách sử dụng các giá trị.separating the type of content into 2 different datasets and naturally, the duration column will just be numerical and just have 1 type of time unit. This way, you can easily and clearly plot using the values.

Vì cột duration có cả chuỗi và số, nên tôi cũng phải tạo một hàm để trích xuất số từ cột đó để có thể chèn vào các cột của 2 bộ dữ liệu mới.I’ll also have to create a function to extract the number from that column so that it can be inserted into the columns of the 2 new datasets.

Bước 7: Kiểm tra các giá trị duy nhất của các cột

Ngoài các giá trị có khả năng bị thiếu, có thể có các giá trị bị hỏng mà bạn có thể chạy vào khi bạn thực hiện phân tích. Để kiểm tra điều này, chúng tôi có thể kiểm tra các giá trị duy nhất cho một số cột. Hãy cùng tham khảo 5 hàng đầu tiên của bộ dữ liệu là điểm khởi đầu của chúng tôi.

Nó có thể không phải là chiến lược để kiểm tra các giá trị duy nhất của tất cả các cột, đặc biệt là tiêu đề, đạo diễn và diễn viên vì có thể có một số lượng lớn các giá trị duy nhất để kiểm tra. Thay vào đó, hãy để tập trung vào một danh sách các giá trị độc đáo tiềm năng có thể dễ dàng và quan trọng hơn để kiểm tra rằng nó có thể sâu sắc hơn cho phân tích trong tương lai. Từ một cái nhìn thoáng qua về các bộ dữ liệu, các cột listed_in9 có lẽ là những người quan tâm. Trước tiên, hãy để kiểm tra cột xếp hạng vì đó dường như là một trong số ít phức tạp nhất để đối phó.

Bạn có thể dễ dàng có được các giá trị duy nhất của một cột như xếp hạng bằng hàm tích hợp Python, director0. Hãy để thử điều đó!

Điều này có vẻ thú vị. Tại sao có 74 phút, 84 phút và 66 phút trong các loại xếp hạng độc đáo cho phim? Và tại sao có bạn (chưa được điều chế) và NR (không được xếp hạng)? Aren sắt họ có nghĩa là điều tương tự? Hãy để điều tra điều này thêm bằng cách trích xuất các hàng có các mục kỳ lạ này.

Sử dụng đoạn mã này, chúng ta có thể thấy rằng 3 hàng riêng biệt chứa xếp hạng kỳ lạ này và nó thực sự thuộc về cột chiều dài. Chúng ta cũng có thể thấy số hàng trong đó vấn đề được đặt sẽ hữu ích để sử dụng để sửa các mục.

Sau một số googling nhanh chóng, chúng tôi có thể tiến hành sửa các mục này bằng cách di chuyển các xếp hạng sai (thực tế là thời lượng) sang cột chiều dài và nhập đúng xếp hạng.

Đối với các giá trị UR và NR trong cột xếp hạng, chúng ta nên giữ tính nhất quán trong đó NR được sử dụng trong bộ dữ liệu director1 và thay đổi các giá trị UR thành NR.

Bây giờ chúng tôi đã làm sạch cột director2, hãy để Lôi nhìn vào cột đất nước và director3. Đến bây giờ, bạn phải nhận ra rằng nó không dễ dàng như cột director2 để trích xuất các giá trị duy nhất. Điều này là do các giá trị trong các cột đó là các từ được nối với nhau bởi dấu phẩy, khiến việc trích xuất tập hợp các từ trở nên khó khăn hơn và sau đó tìm các từ duy nhất từ ​​tập hợp đó.

Làm thế nào chúng tôi sẽ giải quyết vấn đề này là bằng cách thực hiện một chức năng độc đáo cho trường hợp đặc biệt này.

Để bắt đầu, hãy để Lôi nghĩ về cấu trúc dữ liệu nào có thể cung cấp cho chúng ta các giá trị duy nhất một cách dễ dàng. Nếu bạn đoán các bộ, bạn đúng! Với khả năng lưu trữ các yếu tố duy nhất cùng loại theo thứ tự được sắp xếp, nó là một cấu trúc dữ liệu phù hợp cho những gì chúng tôi muốn làm.store unique elements of the same type in sorted order, it’s a fitting data structure for what we want to do.

Sau đó, để trích xuất những từ được kết hợp bởi dấu phẩy, chúng ta có thể sử dụng hàm director5 để chia chuỗi bằng dấu phẩy.

Sau khi sử dụng hàm, chúng ta có thể dễ dàng có được các giá trị duy nhất cho các cột countrydirector3.

Tiếp theo, hãy để kiểm tra danh sách các quốc gia độc đáo để xem liệu có bất kỳ sự không nhất quán hay sai lầm nào không. Bằng cách làm như vậy và với một chút Googling, chúng ta có thể thấy có một số vấn đề với danh sách này:

  • Có cả Liên Xô và Nga
  • Có cả phía tây/Đông Đức và Đức

Chúng ta có thể dễ dàng sửa chữa điều này với một vài sửa đổi cho bộ dữ liệu.

Đối với danh sách các thể loại, chúng ta có thể thấy rằng có một số thể loại chúng ta có thể không muốn hoặc cần bao gồm. Do đó, chúng ta có thể dễ dàng xóa nó khỏi bộ dữ liệu để làm cho phân tích của chúng ta ít gây nhiễu hơn.

Trong cả hai chương trình truyền hình và bộ dữ liệu phim, có một chương trình truyền hình của các chương trình truyền hình và các bộ phim trên mạng. Về mặt kỹ thuật, đây không phải là một thể loại nhưng có thể là một nhãn của loại nội dung. Để xác nhận điều này, chúng ta nên in ra các số lượng của các thể loại này xuất hiện trong các bộ dữ liệu tương ứng.

Giả thuyết là nếu các thể loại này xuất hiện trong tất cả các hàng của bộ dữ liệu, điều đó có nghĩa là chúng chỉ đơn giản là nhãn. Mặt khác, chúng tôi sẽ phải điều tra thêm về những gì các thể loại của người Viking đại diện.

Vì số lượng của các thể loại trên mạng có kích thước nhỏ hơn kích thước của các bộ dữ liệu, hãy để sử dụng đầu ra của mã để kiểm tra các hàng.

Vì tôi đã viết mã để xuất các chỉ số hàng cụ thể trong danh sách, chúng tôi có thể dễ dàng sử dụng danh sách đó và hàm director8 để có cái nhìn của các hàng.

Nhìn vào các hàng, bây giờ rõ ràng là các chương trình truyền hình trên truyền hình và các bộ phim của các bộ phim đã được sử dụng để biểu thị rằng những nội dung này đã có một thể loại ngay từ đầu. Bây giờ chúng tôi hiểu điều này có nghĩa là gì, chúng tôi có thể chọn loại trừ hoặc đưa nó vào phân tích của chúng tôi. Ở đây, tôi đã chọn để bao gồm nó vì nó không ảnh hưởng đến phân tích của tôi.

Mặc dù bước này là tẻ nhạt, nhưng nó cũng khá quan trọng vì nó cho phép chúng tôi tìm thấy các vấn đề trong bộ dữ liệu của chúng tôi được ẩn đi ngay từ cái nhìn đầu tiên.

Bước 8: Tham gia các bộ dữ liệu được làm sạch với nhau để tạo một bộ dữ liệu khác [Tùy chọn]

Bước này là tùy chọn, nhưng trong trường hợp bạn muốn các chương trình truyền hình và bộ dữ liệu phim được làm sạch ở một nơi, bạn nên kết hợp chúng.concatenate them.

Và đó là nó! Bạn đã làm sạch thành công bộ dữ liệu này. Hãy nhớ rằng mọi người đều có phương pháp làm sạch dữ liệu và rất nhiều trong số đó chỉ là từ nỗ lực để hiểu bộ dữ liệu của bạn. Tuy nhiên, tôi hy vọng rằng bài viết này đã giúp bạn hiểu lý do tại sao các nhà khoa học dữ liệu dành 80% thời gian của họ để dọn dẹp bộ dữ liệu của họ. Nói một cách nghiêm túc, bài viết này nhấn mạnh tầm quan trọng của việc làm sạch dữ liệu và quan trọng hơn, sự cần thiết phải có một phương pháp làm sạch dữ liệu tốt sẽ giúp bạn giữ công việc được tổ chức sẽ giúp ích nếu bạn cần quay lại trong quá trình phân tích. Bạn có thể kiểm tra đầy đủ máy tính xách tay ở đây.In all seriousness, this article highlights the importance of data cleaning and more importantly, the need for a good data cleaning methodology which will help you keep your work organized which will help if you need to go back to it during the analysis process. You can check out the full notebook here.

Cảm ơn vì đã đọc. Bạn có thể kiểm tra tôi trên LinkedIn và Twitter!

Dữ liệu làm sạch có ý nghĩa gì trong Python?

Sao chép các hồ sơ, dữ liệu không đầy đủ hoặc lỗi thời và phân tích cú pháp không đúng có thể làm cho dữ liệu bị bẩn. Dữ liệu này cần được làm sạch. Làm sạch dữ liệu (hoặc làm sạch dữ liệu) đề cập đến quá trình làm sạch dữ liệu bẩn này, bằng cách xác định các lỗi trong dữ liệu và sau đó khắc phục chúng.the process of “cleaning” this dirty data, by identifying errors in the data and then rectifying them.

Làm cách nào để làm sạch bộ dữ liệu của tôi?

Làm thế nào để làm sạch dữ liệu..
Bước 1: Loại bỏ các quan sát trùng lặp hoặc không liên quan.Loại bỏ các quan sát không mong muốn khỏi bộ dữ liệu của bạn, bao gồm các quan sát trùng lặp hoặc quan sát không liên quan.....
Bước 2: Khắc phục lỗi cấu trúc.....
Bước 3: Lọc các ngoại lệ không mong muốn.....
Bước 4: Xử lý dữ liệu bị thiếu.....
Bước 5: Xác thực và QA ..

Làm cách nào để xóa dữ liệu văn bản trong Python?

Làm thế nào để làm sạch văn bản với Python..
Bình thường hóa văn bản ..
Xóa các ký tự Unicode ..
Xóa từ dừng ..
Thực hiện thân cây và hóa học ..

Làm sạch và chuẩn bị dữ liệu trong Python là gì?

Bạn sẽ học cách làm việc với dữ liệu bị thiếu, cách làm việc với dữ liệu trùng lặp và xử lý dữ liệu chuỗi lộn xộn.Có thể làm sạch hiệu quả và chuẩn bị một bộ dữ liệu là một kỹ năng quan trọng.Nhiều nhà khoa học dữ liệu ước tính rằng họ dành 80% thời gian để dọn dẹp và chuẩn bị bộ dữ liệu của họ.learn how to work with missing data, how to work with duplicate data, and dealing with messy string data. Being able to effectively clean and prepare a dataset is an important skill. Many data scientists estimate that they spend 80% of their time cleaning and preparing their datasets.