CodeGym /Khóa học Java /Python SELF VI /Định dạng dữ liệu và làm sạch bảng để loại bỏ thông tin k...

Định dạng dữ liệu và làm sạch bảng để loại bỏ thông tin không cần thiết

Python SELF VI
Mức độ , Bài học
Có sẵn

1. Tại sao cần thiết?

Hãy tưởng tượng bạn là một kỹ sư trong nhà máy xử lý dữ liệu. Bạn cần phân tích và tổ chức nguyên liệu thô (dữ liệu) để có được sản phẩm hoàn thiện (những hiểu biết, báo cáo). Nếu không dọn dẹp và định dạng, dữ liệu của bạn giống như một mớ linh kiện rời rạc, khó tạo thành sản phẩm hoàn chỉnh.

Dữ liệu sạch và được định dạng không chỉ liên quan đến tính thẩm mỹ và dễ đọc mà còn là điều kiện quan trọng để phân tích chính xác và xây dựng mô hình. Dữ liệu được xử lý không đúng cách có thể dẫn đến kết luận sai lầm, và không ai muốn rơi vào tình huống cuối ngày làm việc chợt nhận ra rằng mình đã tính tuổi trung bình của nhân viên không phải bằng năm, mà bằng các mảnh nhỏ của dữ liệu.

Các nhiệm vụ chính của việc định dạng

Trước khi bắt tay vào mã hóa, hãy cùng xem qua những vấn đề chúng ta muốn tránh và giải quyết thông qua định dạng:

  • Xóa các hàng và cột trống: Chúng như những túi rỗng - không mang lại giá trị gì cả, nhưng dễ gây nhầm lẫn.
  • Xóa các bản sao: Các bản ghi lặp lại tạo ra sự nhiễu trong dữ liệu của chúng ta.
  • Điền giá trị bị thiếu: Nó giống như những lỗ thủng trong phô mai, đôi khi nên được lấp đầy bằng thứ gì đó ngon lành.
  • Chuyển đổi kiểu dữ liệu: Cần đảm bảo rằng tuổi là số, chứ không phải là văn bản. Để không nhầm tuổi thực với "25 năm kinh nghiệm làm việc" được viết trong ngoặc kép.

2. Các công cụ để làm sạch và định dạng dữ liệu

Bây giờ khi chúng ta đã biết tại sao điều này cần thiết, hãy cùng xem qua các công cụ giúp chúng ta thực hiện, như một con dao đa năng trong cuộc hành trình:

  • Xóa giá trị trống: dropna()
  • Xử lý bản sao: duplicated()drop_duplicates()
  • Điền giá trị bị thiếu: fillna()
  • Chuyển đổi kiểu dữ liệu: astype()

Xóa giá trị trống

Giá trị trống là một trong những thứ luôn xuất hiện không đúng lúc. Với dropna(), chúng ta có thể thoát khỏi nó giống như những chiếc tất cũ không cần thiết. Hãy cùng xem ví dụ:

Python

import pandas as pd

# Tạo DataFrame với các giá trị thiếu
data = {'Tên': ['Anna', 'Ivan', None, 'Maria'],
        'Tuổi': [29, None, 34, 23],
        'Thành phố': ['Moscow', 'Saint Petersburg', 'Novosibirsk', None]}

df = pd.DataFrame(data)

# Xóa các dòng có bất kỳ giá trị NaN nào
cleaned_df = df.dropna()

print(cleaned_df)

Đoạn mã này sẽ xóa tất cả các dòng chứa ít nhất một giá trị trống.

Xử lý bản sao

Đôi khi trong dữ liệu của bạn có các bản sao, giống như trò chơi "Tìm điểm khác biệt", nhưng không có điểm khác biệt nào. Các bản ghi như vậy có thể bị loại bỏ bằng drop_duplicates().

Python

# Tạo DataFrame với các bản sao
data = {'Tên': ['Anna', 'Ivan', 'Anna', 'Maria'],
        'Tuổi': [29, 34, 29, 23]}

df = pd.DataFrame(data)

# Xóa các bản sao
unique_df = df.drop_duplicates()

print(unique_df)

Điền giá trị bị thiếu

Điền các giá trị bị thiếu có thể thực hiện theo nhiều cách, chẳng hạn bằng giá trị trung bình hoặc bằng một giá trị cố định. Phương pháp fillna() sẽ giúp bạn làm điều này:

Python

# Điền các giá trị thiếu trong 'Tuổi' bằng giá trị trung bình của cột
df['Tuổi'] = df['Tuổi'].fillna(df['Tuổi'].mean())

print(df)

Chuyển đổi kiểu dữ liệu

Đôi khi cần chuyển đổi dữ liệu để tránh rơi vào bẫy giá trị văn bản ở nơi cần số:

Python

# Chuyển đổi kiểu dữ liệu của cột 'Tuổi' sang số nguyên
df['Tuổi'] = df['Tuổi'].astype(int)

print(df)

3. Ứng dụng thực tế: làm sạch tập dữ liệu thực

Hãy thử làm sạch và định dạng một tập dữ liệu thực tế để báo cáo. Ví dụ, hãy lấy một tệp Excel giả định với thông tin bán hàng.

Python

# Tải dữ liệu từ Excel
filename = "sales_data.xlsx"
df = pd.read_excel(filename)

# Xóa các dòng có giá trị bị thiếu trong bất kỳ cột nào
df = df.dropna()

# Xóa các bản ghi trùng lặp
df = df.drop_duplicates()

# Điền giá trị bị thiếu bằng giá trị trung bình của cột
df['Doanh số'] = df['Doanh số'].fillna(df['Doanh số'].mean())

# Chuyển đổi kiểu dữ liệu
df['Mã sản phẩm'] = df['Mã sản phẩm'].astype(str)

# Lưu dữ liệu đã định dạng trở lại Excel
df.to_excel("cleaned_sales_data.xlsx", index=False)

Kết quả, chúng ta có được tệp Excel sạch và gọn, sẵn sàng cho phân tích và làm báo cáo.

4. Các lỗi thường gặp khi làm sạch dữ liệu

Giống như khi sửa chữa điện tử, với dữ liệu luôn có thể mắc lỗi. Dưới đây là một vài lỗi phổ biến cần tránh.

Xóa mất thông tin hữu ích cùng với các bản sao. Đôi khi các bản sao có thể là tín hiệu cho lỗi trong dữ liệu, cần phải tìm hiểu nguyên nhân. Đừng nhầm lẫn kiểu dữ liệu. Đôi khi có vẻ việc chuyển đổi kiểu sang định dạng khác rất đơn giản, nhưng điều này có thể dẫn đến mất dữ liệu nếu không kiểm tra kỹ.

Bằng cách làm theo các mẹo này và thực hiện các bước được đề xuất, bạn có thể dễ dàng làm việc với dữ liệu, ngay cả khi ban đầu nó trông giống như một cơn ác mộng của nhà phân tích. Nhớ rằng, dữ liệu, cũng như mã của bạn, nên sạch sẽ!

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION