Ràng buộc phạm vi dữ liệu

Làm sạch dữ liệu với Python

Adel Nehme

VP of AI Curriculum, DataCamp

Động lực

movies.head()
     movie_name     avg_rating
0    The Godfather           5
1    Frozen 2                3
2    Shrek                   4
...    
Làm sạch dữ liệu với Python

Động lực

import matplotlib.pyplot as plt
plt.hist(movies['avg_rating'])
plt.title('Average rating of movies (1-5)')

phân phối_avg_rating

Làm sạch dữ liệu với Python

Động lực

Đăng ký trong tương lai có tồn tại không?

# Import date time
import datetime as dt
today_date = dt.date.today()
user_signups[user_signups['subscription_date'] > dt.date.today()]
   subscription_date  user_name         ...             Country
0         01/05/2021      Marah         ...             Nauru
1         09/08/2020     Joshua         ...             Austria
2         04/01/2020      Heidi         ...             Guinea
3         11/10/2020       Rina         ...             Turkmenistan
4         11/07/2020  Christine         ...             Marshall Islands
5         07/07/2020     Ayanna         ...             Gabon

Làm sạch dữ liệu với Python

Xử lý dữ liệu ngoài phạm vi như thế nào?

  • Loại bỏ dữ liệu
  • Đặt ngưỡng tối thiểu/tối đa tùy chỉnh
  • Xem là thiếu và nội suy
  • Gán giá trị theo giả định nghiệp vụ
Làm sạch dữ liệu với Python

Ví dụ về phim

import pandas as pd
# Output Movies with rating > 5
movies[movies['avg_rating'] > 5]
         movie_name  avg_rating
23  A Beautiful Mind           6
65   La Vita e Bella           6
77            Amelie           6
# Lọc để loại bỏ giá trị
movies = movies[movies['avg_rating'] <= 5]

# Dùng .drop() để loại bỏ movies.drop(movies[movies['avg_rating'] > 5].index, inplace = True)
# Kiểm định kết quả assert movies['avg_rating'].max() <= 5
Làm sạch dữ liệu với Python

Ví dụ về phim

# Convert avg_rating > 5 to 5
movies.loc[movies['avg_rating'] > 5, 'avg_rating'] = 5
# Assert statement
assert movies['avg_rating'].max() <= 5

Nhớ: không có output nghĩa là đã qua

Làm sạch dữ liệu với Python

Ví dụ phạm vi ngày

import datetime as dt
import pandas as pd
# Kiểu dữ liệu đầu ra
user_signups.dtypes
subscription_date    object
user_name            object
Country              object
dtype: object
# Chuyển sang date
user_signups['subscription_date'] = pd.to_datetime(user_signups['subscription_date']).dt.date
Làm sạch dữ liệu với Python

Ví dụ phạm vi ngày

today_date = dt.date.today()

Loại bỏ dữ liệu

# Lọc để loại bỏ giá trị
user_signups = user_signups[user_signups['subscription_date'] < today_date]

# Dùng .drop() để loại bỏ user_signups.drop(user_signups[user_signups['subscription_date'] > today_date].index, inplace = True)

Gán cứng ngày với ngưỡng trên

# Lọc và gán giá trị
user_signups.loc[user_signups['subscription_date'] > today_date, 'subscription_date'] = today_date
# Kiểm định đúng
assert user_signups.subscription_date.max().date() <= today_date
Làm sạch dữ liệu với Python

Laten we oefenen!

Làm sạch dữ liệu với Python

Preparing Video For Download...