Pandas: วิธีใช้ groupby และ plot (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้เพื่อจัดกลุ่มและลงจุดด้วย Pandas DataFrame:

วิธีที่ 1: จัดกลุ่มตามและวาดหลายบรรทัดในเส้นทางเดียว

 #define index column
df. set_index ('day', inplace= True )

#group data by product and display sales as line chart
df. groupby (' product ')[' sales ']. plot (legend= True )

วิธีที่ 2: จัดกลุ่มตามและวาดเส้นในแต่ละแผนย่อย

 p.d. pivot_table ( df.reset_index (),
               index=' day ', columns=' product ', values=' sales '
              ). plot (subplots= True )

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 1, 2, 3, 4, 5],
                   ' product ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' sales ': [4, 7, 8, 12, 15, 8, 11, 14, 19, 20]})

#view DataFrame
df

	day product sales
0 1 A 4
1 2 To 7
2 3 To 8
3 4 A 12
4 5 To 15
5 1 B 8
6 2 B 11
7 3 B 14
8 4 B 19
9 5 B 20

วิธีที่ 1: จัดกลุ่มตามและวาดหลายบรรทัดในเส้นทางเดียว

รหัสต่อไปนี้แสดงวิธีจัดกลุ่ม DataFrame ตามตัวแปร “ผลิตภัณฑ์” และลงจุด “ยอดขาย” ของผลิตภัณฑ์แต่ละรายการในแผนภูมิ:

 #define index column
df. set_index (' day ', inplace= True )

#group data by product and display sales as line chart
df. groupby (' product ')[' sales ']. plot (legend= True ) 

การจัดกลุ่มและวางอุบายของแพนด้า

แกน x แสดงวัน แกน y แสดงยอดขาย และแต่ละแถวแสดงยอดขายของผลิตภัณฑ์แต่ละรายการ

วิธีที่ 2: จัดกลุ่มตามและวาดเส้นในแต่ละแผนย่อย

รหัสต่อไปนี้แสดงวิธีจัดกลุ่ม DataFrame ตามตัวแปร “ผลิตภัณฑ์” และลงจุด “ยอดขาย” ของผลิตภัณฑ์แต่ละรายการในแต่ละแผนย่อย:

 p.d. pivot_table ( df.reset_index (),
               index=' day ', columns=' product ', values=' sales '
              ). plot (subplots= True ) 

แพนด้าจะถูกจัดกลุ่มและลงจุดในแผนย่อย

กราฟแรกแสดงยอดขายผลิตภัณฑ์ A และกราฟที่สองแสดงยอดขายผลิตภัณฑ์ B

โปรดทราบว่าเรายังสามารถใช้อาร์กิวเมนต์ เลย์เอาต์ เพื่อระบุเลย์เอาต์ของซับเทรซได้

ตัวอย่างเช่น เราสามารถระบุได้ว่าแผนย่อยอยู่ในตารางที่มีหนึ่งแถวและสองคอลัมน์:

 p.d. pivot_table ( df.reset_index (),
               index=' day ', columns=' product ', values=' sales '
              ). plot (subplots= True , layout=(1,2)) 

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีสร้างการแสดงภาพทั่วไปอื่นๆ ในแพนด้า:

วิธีสร้าง boxplot จาก Pandas DataFrame
วิธีสร้างแผนภูมิวงกลมจาก Pandas DataFrame
วิธีสร้างฮิสโตแกรมจาก Pandas DataFrame

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *