Bang nào thân thiện với chợ nhất?
Khi khám phá dữ liệu farmer's market, bạn tự hỏi liệu có những mẫu hình nào xuất hiện nếu gộp theo cấp bang. Có bang nào thân thiện với chợ hơn các bang khác không? Để kiểm tra, bạn nhóm dữ liệu theo bang và lấy số lượng chợ đã log-transform (log_markets) và dân số bang (log_pop).
markets_and_pop = (markets
.groupby('state', as_index = False)
.agg({
'name': lambda d: log(len(d)),
'state_pop': lambda d: log(d.iloc[0]) })
.rename(columns = {
'name': 'log_markets',
'state_pop': 'log_pop' }))
Để trực quan hóa, bạn quyết định dùng biểu đồ hồi quy để hình dung mối quan hệ “bình thường” giữa số chợ và dân số, và scatter kèm nhãn văn bản để nhanh chóng nhận diện các ngoại lệ thú vị.
Bài tập này là một phần của khóa học
Nâng cấp trực quan hóa dữ liệu của bạn với Python
Hướng dẫn bài tập
- Lặp qua từng hàng của DataFrame
markets_and_pop. - Đặt chú thích cạnh các điểm trên biểu đồ scatter.
- Giảm cỡ chữ chú thích xuống
10point.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
g = sns.regplot(
"log_markets", "log_pop",
ci = False,
# Shrink scatter plot points
scatter_kws = {'s':2},
data = markets_and_pop)
# Iterate over the rows of the data
for _, row in markets_and_pop.____():
state, _, _, log_markets, log_pop = row
# Place annotation and reduce size for clarity
g.annotate(state, (____,____), ____ = ____)
plt.show()