การสร้างภาพข้อมูล

การจัดการข้อมูลด้วย pandas

Maggie Matsui

Senior Content Developer at DataCamp

ฮิสโตแกรม

import matplotlib.pyplot as plt
dog_pack["height_cm"].hist()
plt.show()

ฮิสโตแกรมแสดงความสูงของสุนัข สุนัขที่เตี้ยที่สุดมีความสูงต่ำกว่า 20 ซม. และสูงที่สุดอยู่ที่ 70 ซม. ความสูงที่พบมากที่สุดอยู่ระหว่าง 50 ถึง 60 ซม.

การจัดการข้อมูลด้วย pandas

ฮิสโตแกรม

dog_pack["height_cm"].hist(bins=20)
plt.show()

ฮิสโตแกรมความสูงของสุนัขแบบเดิม แต่แบ่งเป็น 20 ช่องแคบ

dog_pack["height_cm"].hist(bins=5)
plt.show()

ฮิสโตแกรมความสูงของสุนัขแบบเดิม แต่แบ่งเป็น 5 ช่องกว้าง

การจัดการข้อมูลด้วย pandas

กราฟแท่ง

avg_weight_by_breed = dog_pack.groupby("breed")["weight_kg"].mean()
print(avg_weight_by_breed)
breed
Beagle         10.636364
Boxer          30.620000
Chihuahua       1.491667
Chow Chow      22.535714
Dachshund       9.975000
Labrador       31.850000
Poodle         20.400000
St. Bernard    71.576923
Name: weight_kg, dtype: float64
การจัดการข้อมูลด้วย pandas

กราฟแท่ง

avg_weight_by_breed.plot(kind="bar")

plt.show()

กราฟแท่งแสดงน้ำหนักเฉลี่ยของสุนัข (กิโลกรัม) แยกตามสายพันธุ์ สุนัขเซนต์เบอร์นาร์ดหนักที่สุด ส่วนชิวาวาเบาที่สุด

avg_weight_by_breed.plot(kind="bar",
    title="Mean Weight by Dog Breed")
plt.show()

กราฟแท่งเดิม แต่มีชื่อกราฟว่า "Mean Weight by Dog Breed" เพิ่มเติม

การจัดการข้อมูลด้วย pandas

กราฟเส้น

sully.head()
          date    weight_kg
0   2019-01-31         36.1
1   2019-02-28         35.3
2   2019-03-31         32.0
3   2019-04-30         32.9
4   2019-05-31         32.0
sully.plot(x="date", 
           y="weight_kg", 
           kind="line")
plt.show()

กราฟเส้นแสดงน้ำหนักของสุนัขชื่อ Sully ตามช่วงเวลา น้ำหนักผันผวนระหว่าง 27 ถึง 36 กิโลกรัม

การจัดการข้อมูลด้วย pandas

การหมุนป้ายกำกับแกน

sully.plot(x="date", y="weight_kg", kind="line", rot=45)
plt.show()

กราฟเส้นแสดงน้ำหนักของ Sully แบบเดิม แต่ข้อความบนแกน x ถูกหมุน 45 องศาตามเข็มนาฬิกา

การจัดการข้อมูลด้วย pandas

กราฟกระจาย

dog_pack.plot(x="height_cm", y="weight_kg", kind="scatter")
plt.show()

กราฟกระจายแสดงน้ำหนักเทียบกับความสูงของสุนัข เมื่อความสูงเพิ่มขึ้น น้ำหนักก็เพิ่มขึ้นด้วย มีกลุ่มข้อมูลหลายกลุ่ม ซึ่งอาจสอดคล้องกับสายพันธุ์

การจัดการข้อมูลด้วย pandas

การซ้อนกราฟ

dog_pack[dog_pack["sex"]=="F"]["height_cm"].hist()
dog_pack[dog_pack["sex"]=="M"]["height_cm"].hist()

plt.show()

ฮิสโตแกรมความสูงของสุนัข 2 ชุดอยู่ในกราฟเดียวกัน ชุดหนึ่งเป็นสีน้ำเงิน อีกชุดเป็นสีส้ม ฮิสโตแกรมสีส้มทับฮิสโตแกรมสีน้ำเงิน ทำให้มองเห็นได้ยาก

การจัดการข้อมูลด้วย pandas

เพิ่ม legend

dog_pack[dog_pack["sex"]=="F"]["height_cm"].hist()
dog_pack[dog_pack["sex"]=="M"]["height_cm"].hist()
plt.legend(["F", "M"])
plt.show()

กราฟที่มีฮิสโตแกรม 2 ชุดแบบเดิม แต่เพิ่ม legend โดย "F" (เพศเมีย) แสดงด้วยสีน้ำเงิน และ "M" (เพศผู้) แสดงด้วยสีส้ม ยังคงมองเห็นได้ยากอยู่

การจัดการข้อมูลด้วย pandas

ความโปร่งแสง

dog_pack[dog_pack["sex"]=="F"]["height_cm"].hist(alpha=0.7)
dog_pack[dog_pack["sex"]=="M"]["height_cm"].hist(alpha=0.7)
plt.legend(["F", "M"])
plt.show()

กราฟที่มีฮิสโตแกรม 2 ชุดแบบเดิม แต่ปรับให้โปร่งแสง ทำให้มองเห็นแท่งของฮิสโตแกรมเพศเมียที่ถูกทับซ้อนได้ชัดขึ้น

การจัดการข้อมูลด้วย pandas

อะโวคาโด

print(avocados)
            date          type  year  avg_price         size     nb_sold
0     2015-12-27  conventional  2015       0.95        small  9626901.09
1     2015-12-20  conventional  2015       0.98        small  8710021.76
2     2015-12-13  conventional  2015       0.93        small  9855053.66
...          ...           ...   ...        ...          ...         ...
1011  2018-01-21       organic  2018       1.63  extra_large     1490.02
1012  2018-01-14       organic  2018       1.59  extra_large     1580.01
1013  2018-01-07       organic  2018       1.51  extra_large     1289.07

[1014 rows x 6 columns]
การจัดการข้อมูลด้วย pandas

มาฝึกกันเถอะ!

การจัดการข้อมูลด้วย pandas

Preparing Video For Download...