Cách thực hiện làm sạch dữ liệu bằng Python và Pandas

Cach Thuc Hien Lam Sach Du Lieu Bang Python Va Pandas



Học cách làm sạch dữ liệu bằng Python và Pandas là điều quan trọng đối với bất kỳ ai làm việc với dữ liệu. Làm sạch dữ liệu chủ yếu được sử dụng để phân tích và lập mô hình chính xác bằng cách loại bỏ các lỗi và sự không nhất quán. Hướng dẫn này hướng dẫn quy trình từng bước trong đó chỉ cho chúng tôi cách xử lý dữ liệu bị thiếu và phát hiện hoặc xác định các giá trị ngoại lệ. Với Python và Pandas làm công cụ, chúng tôi có thể chuyển đổi dữ liệu lộn xộn thành thông tin rõ ràng, có thể sử dụng được. Hướng dẫn này cũng giúp chúng tôi cải thiện chất lượng dữ liệu và chuẩn bị cho việc phân tích và ra quyết định.

Làm sạch dữ liệu bằng Python và Pandas

Dữ liệu giống như nền tảng của việc ra quyết định ngày nay. Nhưng hãy tưởng tượng có một nhóm các khối có hình dạng và kích thước khác nhau từ bộ sưu tập này; thật khó để xây dựng bất cứ điều gì có ý nghĩa. Đây là lúc việc làm sạch dữ liệu phát huy tác dụng.

Hướng dẫn này khám phá cách làm sạch dữ liệu bằng khung của Python là Pandas để đưa ra quyết định tốt hơn. Việc làm sạch dữ liệu cũng rất cần thiết vì chúng tôi đang làm việc với danh sách hồ sơ bán hàng cho một cửa hàng. Chúng tôi có thể nhận thấy một số con số bị thiếu, ngày kỳ lạ và các mục lặp lại không có lý do trong danh sách. Nếu chúng tôi thực hiện tính toán hoặc ghi lại dựa trên thông tin này, những vấn đề này có thể làm rối loạn các tính toán và dự đoán của chúng tôi. Việc dọn dẹp dữ liệu giúp khắc phục những vấn đề này, đảm bảo rằng dữ liệu của chúng tôi chính xác và sẵn sàng để sử dụng.







Làm sạch dữ liệu bao gồm xử lý dữ liệu bị thiếu và những việc cần làm khi thiếu một số dữ liệu, xóa các dữ liệu trùng lặp, loại bỏ nội dung đã sao chép, sửa các loại dữ liệu, đảm bảo rằng mọi thứ đều ở định dạng phù hợp và xử lý các giá trị ngoại lệ hoặc xử lý các con số. không phù hợp. Những lỗi này làm cho dữ liệu trông giống nhau và tiêu chuẩn hóa cách dữ liệu xuất hiện.



Để bắt đầu, trước tiên hãy đảm bảo rằng chúng ta đã cài đặt Python và Pandas. Chúng ta có thể thực hiện việc này bằng cách nhập các lệnh trong terminal hoặc dấu nhắc lệnh của máy tính. Để triển khai các mã được đề cập trong hướng dẫn này, chúng tôi có thể sử dụng Python Pycharm IDE được cài đặt trên hệ thống của chúng tôi hoặc nền tảng Python trực tuyến là “Google Colab” và cài đặt các lệnh “pip” để cài đặt các thư viện quan trọng.



Bây giờ, hãy nhập Pandas và tải dữ liệu mẫu của chúng tôi. Trong ví dụ này, chúng tôi sử dụng Google Colab để chạy mã. Vì vậy, trước tiên chúng tôi nhập Pandas bằng cách nhập lệnh sau:





! pip cài đặt gấu trúc

nhập khẩu gấu trúc BẰNG pd

nhập khẩu có khối u BẰNG ví dụ.

Sau đó, chúng ta tải tập dữ liệu mà chúng ta muốn hiển thị bằng phương thức pd.read() lấy đường dẫn tệp làm tham số đầu vào.

# Tải tập dữ liệu

dữ liệu = pd. đọc_csv ( '/content/sample_data/california_housing_test.csv' )

# Hiển thị một vài hàng đầu tiên

in ( dữ liệu. cái đầu ( ) )



Trong ví dụ tiếp theo, chúng tôi sử dụng dữ liệu về doanh số bán hàng trong một cửa hàng nhỏ. Để xử lý dữ liệu bị thiếu, thông tin đôi khi bị thiếu trong dữ liệu của chúng tôi. Chúng tôi gọi những phần còn thiếu này là “NaN” (có nghĩa là “không phải số”). Để tìm những giá trị còn thiếu này trong tập lệnh Python, trước tiên chúng ta tải tập dữ liệu như đã làm trong ví dụ trước. Sau đó, chúng tôi tìm thấy mọi giá trị bị thiếu trong tập dữ liệu bằng cách sử dụng hàm “missing_values ​​= data.isnull().sum()”. Hàm này tìm tất cả các giá trị còn thiếu trong tập dữ liệu. Sau đó, chúng ta hiển thị chúng bằng hàm print().

! pip cài đặt gấu trúc
nhập khẩu gấu trúc BẰNG pd
nhập khẩu có khối u BẰNG ví dụ.

# Tải tập dữ liệu
dữ liệu = pd. đọc_csv ( '/content/sample_data/california_housing_test.csv' )

# Hiển thị một vài hàng đầu tiên
in ( dữ liệu. cái đầu ( ) )

# Kiểm tra các giá trị còn thiếu
giá trị bị mất = dữ liệu. không có giá trị ( ) . Tổng ( )

# Hiển thị các giá trị còn thiếu theo cột
in ( giá trị bị mất )

Sau khi tìm thấy bất kỳ dữ liệu nào bị thiếu trong bất kỳ hàng nào chạy mã được đề cập trước đó, chúng tôi có thể xóa những hàng đó vì những hàng đó không có nhiều dữ liệu hữu ích. Chúng ta thậm chí có thể đoán những giá trị còn thiếu đó và điền vào chỗ trống những phỏng đoán có căn cứ bằng cách ước tính dữ liệu theo thời gian dựa trên các điểm gần đó.

Bây giờ, chúng tôi loại bỏ các bản sao trùng lặp của cùng một thứ vì chúng có thể gây nhầm lẫn cho phân tích của chúng tôi. Để tìm các giá trị trùng lặp trong tập dữ liệu, chúng tôi sử dụng hàm “duplicate_rows = data[data.duplicate()]”. Để loại bỏ các giá trị trùng lặp này, chúng ta gọi hàm data.drop_duplicates(). Chúng ta có thể tìm và loại bỏ chúng bằng đoạn mã sau:

! pip cài đặt gấu trúc
nhập khẩu gấu trúc BẰNG pd
nhập khẩu có khối u BẰNG ví dụ.
# Tải tập dữ liệu
dữ liệu = pd. đọc_csv ( '/content/sample_data/california_housing_test.csv' )
# Hiển thị một vài hàng đầu tiên
in ( dữ liệu. cái đầu ( ) )

# Kiểm tra các hàng trùng lặp
trùng_hàng = dữ liệu [ dữ liệu. nhân đôi ( ) ]

# Loại bỏ các bản sao
dữ liệu = dữ liệu. drop_duplicates ( )

# Hiển thị một vài hàng đầu tiên sau khi loại bỏ các bản sao
in ( dữ liệu. cái đầu ( ) )

Kiểu dữ liệu quyết định dữ liệu nào có thể được lưu trữ để sửa các kiểu dữ liệu. Điều cần thiết là phải có loại phù hợp cho từng loại dữ liệu. Ví dụ: ngày phải có kiểu dữ liệu là ngày giờ và các số phải có kiểu dữ liệu như int, float, v.v. Để kiểm tra kiểu dữ liệu của dữ liệu, chúng tôi sử dụng hàm “data.dtypes”. Chức năng này có thể được sử dụng theo cách sau:

! pip cài đặt gấu trúc
nhập khẩu gấu trúc BẰNG pd
nhập khẩu có khối u BẰNG ví dụ.
# Tải tập dữ liệu
dữ liệu = pd. đọc_csv ( '/content/sample_data/california_housing_test.csv' )
# Hiển thị một vài hàng đầu tiên
in ( dữ liệu. cái đầu ( ) )
# Kiểm tra kiểu dữ liệu của từng cột
Loại dữ liệu = dữ liệu. dtypes

# Hiển thị kiểu dữ liệu
in ( Loại dữ liệu )

Nếu phát hiện bất kỳ vấn đề nào, chúng tôi có thể thay đổi kiểu dữ liệu bằng Pandas. Ví dụ: chúng ta có thể biến ngày thành định dạng ngày. Thuộc tính “dtypes” của DataFrame cung cấp thông tin về các loại dữ liệu của từng cột. Nếu chúng tôi thấy rằng kiểu dữ liệu không khớp, chúng tôi có thể sử dụng hàm astype() của Pandas để chuyển đổi các cột thành loại mong muốn.

Sau các kiểu dữ liệu, đôi khi chúng ta gặp phải các giá trị ngoại lệ là những giá trị rất khác so với các kiểu dữ liệu khác. Họ có thể làm rối tung các tính toán của chúng tôi. Để xử lý các giá trị ngoại lệ, chúng tôi xác định một hàm sử dụng hàm z-score “np.abs(stats.zscore(data))” để so sánh các giá trị tồn tại trong dữ liệu của chúng tôi với giá trị ngưỡng. Bất kỳ giá trị nào khác ngoài phạm vi của ngưỡng này đều được coi là giá trị ngoại lệ . Hãy xem cách tìm và xử lý các ngoại lệ:

! pip cài đặt gấu trúc
nhập khẩu gấu trúc BẰNG pd
nhập khẩu có khối u BẰNG ví dụ.

# Tải tập dữ liệu
dữ liệu = pd. đọc_csv ( '/content/sample_data/california_housing_test.csv' )

# Hiển thị một vài hàng đầu tiên
in ( dữ liệu. cái đầu ( ) )
từ khoa học nhập khẩu số liệu thống kê

chắc chắn detect_outliers ( dữ liệu ) :
z_scores = ví dụ. cơ bụng ( số liệu thống kê. điểm z ( dữ liệu ) )
trở lại ví dụ. Ở đâu ( z_scores > 3 )

# Phát hiện và xử lý các ngoại lệ ở cột “Doanh số”
ngoại lệ = detect_outliers ( dữ liệu [ 'kinh độ' ] )
dữ liệu [ 'kinh độ' ] . địa điểm [ ngoại lệ ] = dữ liệu [ 'kinh độ' ] . Trung bình ( )

# Phát hiện và xử lý các ngoại lệ ở cột “Đơn vị đã bán”
ngoại lệ = detect_outliers ( dữ liệu [ 'vĩ độ' ] )
dữ liệu [ 'vĩ độ' ] . địa điểm [ ngoại lệ ] = dữ liệu [ 'vĩ độ' ] . Trung bình ( )

# Hiển thị một vài hàng đầu tiên sau khi xử lý các giá trị ngoại lệ
in ( dữ liệu. cái đầu ( ) )

Chúng tôi sử dụng một phương pháp đơn giản để tìm và sửa các ngoại lệ trong mã trước đó. Nó liên quan đến việc thay thế các giá trị cực trị bằng giá trị trung bình của dữ liệu. Mã này sử dụng phương pháp điểm Z để phát hiện các giá trị ngoại lệ trong cột “kinh độ” và “vĩ độ” của tập dữ liệu của chúng tôi. Các giá trị ngoại lệ được thay thế bằng giá trị trung bình của các cột tương ứng.

Để làm cho dữ liệu trông giống nhau, đôi khi dữ liệu có thể trông khác ngay cả khi nó có nghĩa giống nhau. Ví dụ: ngày tháng có thể được viết ở nhiều định dạng khác nhau. Tiêu chuẩn hóa liên quan đến việc đảm bảo định dạng và trình bày dữ liệu nhất quán. Điều này có thể bao gồm định dạng ngày tháng, chuyển đổi văn bản thành chữ thường hoặc chuẩn hóa các giá trị số. Hãy chuẩn hóa cột “Ngày” trong tập dữ liệu của chúng tôi và đảm bảo rằng dữ liệu của chúng tôi trông giống nhau:

nhập khẩu gấu trúc BẰNG pd
nhập khẩu có khối u BẰNG ví dụ. # Nhập numpy

#Tải dữ liệu
dữ liệu = pd. đọc_csv ( 'dữ liệu bán hàng.csv' )

# Làm cho cột “Ngày” trông nhất quán
dữ liệu [ 'Ngày' ] = pd. to_datetime ( dữ liệu [ 'Ngày' ] )

# Xem bây giờ nó trông như thế nào
in ( dữ liệu. cái đầu ( ) )

Trong ví dụ này, chúng tôi chuẩn hóa định dạng ngày trong tập dữ liệu của mình thành định dạng ngày giờ của Python bằng cách sử dụng hàm “pd.to_datetime(data[‘Date’])”. Bằng cách chuyển đổi cột “Ngày” sang định dạng tương tự, chúng tôi giúp bạn làm việc với dữ liệu này dễ dàng hơn. Đầu ra hiển thị một số hàng đầu tiên của tập dữ liệu với cột “Ngày” được tiêu chuẩn hóa.

Phần kết luận

Trong hành trình làm sạch dữ liệu bằng Python và Pandas, chúng tôi đã học được cách cải thiện dữ liệu để phân tích. Chúng tôi bắt đầu bằng cách hiểu tại sao việc làm sạch dữ liệu lại quan trọng đến vậy. Nó giúp chúng ta đưa ra quyết định tốt hơn. Chúng tôi đã khám phá cách xử lý dữ liệu bị thiếu, loại bỏ dữ liệu trùng lặp, sửa các loại dữ liệu, xử lý các ngoại lệ và làm cho dữ liệu của chúng tôi trông giống nhau. Với những kỹ năng này, chúng ta được chuẩn bị tốt hơn để biến dữ liệu lộn xộn thành thứ mà chúng ta có thể tin tưởng và sử dụng để khám phá thông tin quan trọng. Làm sạch dữ liệu là một quá trình diễn ra liên tục, giống như giữ cho căn phòng của chúng ta gọn gàng và nó làm cho hành trình phân tích dữ liệu của chúng ta thành công hơn.