รัฐใดเป็นมิตรกับตลาดมากที่สุด?
ระหว่างสำรวจข้อมูลตลาดเกษตรกร คุณสงสัยว่าจะเห็นรูปแบบอะไรบ้างหากรวมข้อมูลในระดับรัฐ บางรัฐเป็นมิตรกับตลาดมากกว่ารัฐอื่นหรือไม่? เพื่อตรวจสอบเรื่องนี้ ให้จัดกลุ่มข้อมูลตามรัฐ แล้วหาจำนวนตลาดที่ผ่านการแปลงลอการิทึม (log_markets) และจำนวนประชากรของแต่ละรัฐ (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' }))
ในการแสดงผลด้วยกราฟ ให้ใช้ regression plot เพื่อดูความสัมพันธ์ปกติระหว่างจำนวนตลาดกับจำนวนประชากร และใช้ text-scatter เพื่อระบุ outlier ที่น่าสนใจได้อย่างรวดเร็ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพัฒนาการแสดงผลข้อมูลใน Python
คำแนะนำการฝึกหัด
- วนลูปข้ามแถวของ DataFrame
markets_and_pop - วาง annotation ไว้ถัดจากจุดบนกราฟ scatter plot
- ลดขนาดตัวอักษรของ annotation เป็น
10พอยต์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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()