Làm sạch dữ liệu với Python
Adel Nehme
VP of AI Curriculum, DataCamp
movies.head()
movie_name avg_rating
0 The Godfather 5
1 Frozen 2 3
2 Shrek 4
...
import matplotlib.pyplot as plt
plt.hist(movies['avg_rating'])
plt.title('Average rating of movies (1-5)')

Đă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
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
# 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
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
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