ความแตกต่างระหว่าง axis=0 และ axis=1 ใน pandas


ฟังก์ชันหลายอย่างใน แพนด้า ต้องการให้คุณระบุแกนที่จะใช้ในการคำนวณบางอย่าง

โดยทั่วไปจะใช้กฎทั่วไปต่อไปนี้:

  • axis=0 : ใช้การคำนวณ “ต่อคอลัมน์”
  • axis=1 : ใช้การคำนวณ “ต่อบรรทัด”

ตัวอย่างต่อไปนี้แสดงวิธีการใช้อาร์กิวเมนต์ แกน ในสถานการณ์ที่แตกต่างกันกับ DataFrame แพนด้าต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team points assists rebounds
0 to 25 5 11
1 to 12 7 8
2 B 15 7 10
3 B 14 9 6
4 B 19 12 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12

ตัวอย่างที่ 1: การค้นหาค่าเฉลี่ยตามแกนต่างๆ

เราสามารถใช้ axis=0 เพื่อค้นหาค่าเฉลี่ยของแต่ละคอลัมน์ใน DataFrame:

 #find mean of each column
df. mean (axis= 0 )

points 20.250
assists 7,750
rebounds 8,375
dtype:float64

ผลลัพธ์จะแสดงค่าเฉลี่ยของแต่ละคอลัมน์ตัวเลขใน DataFrame

โปรดทราบว่าแพนด้าจะหลีกเลี่ยงการเฉลี่ยคอลัมน์ “ทีม” โดยอัตโนมัติ เนื่องจากเป็นคอลัมน์อักขระ

นอกจากนี้เรายังสามารถใช้ axis=1 เพื่อค้นหาค่าเฉลี่ยของแต่ละแถวใน DataFrame:

 #find mean of each row
df. mean (axis= 1 )

0 13.666667
1 9.000000
2 10.666667
3 9.666667
4 12.333333
5 12.333333
6 14.333333
7 15.000000
dtype:float64

จากผลลัพธ์เราจะเห็นได้ว่า:

  • ค่าเฉลี่ยของแถวแรกคือ 13.667
  • ค่าเฉลี่ยในแถวที่สองคือ 9000
  • ค่าเฉลี่ยในแถวที่สามคือ 10,667

และอื่นๆ

ตัวอย่างที่ 2: การค้นหาผลรวมตามแกนต่างๆ

เราสามารถใช้ axis=0 เพื่อค้นหาผลรวมของคอลัมน์ที่ระบุใน DataFrame:

 #find sum of 'points' and 'assists' columns
df[[' points ', ' assists ']]. sum (axis= 0 )

points 162
assists 62
dtype: int64

นอกจากนี้เรายังสามารถใช้ axis=1 เพื่อค้นหาผลรวมของแต่ละแถวใน DataFrame:

 #find sum of each row
df. sum (axis= 1 )

0 41
1 27
2 32
3 29
4 37
5 37
6 43
7 45
dtype: int64

ตัวอย่างที่ 3: การค้นหา Max ตามแกนต่างๆ

เราสามารถใช้ axis=0 เพื่อค้นหาค่าสูงสุดของคอลัมน์ที่ระบุใน DataFrame:

 #find max of 'points', 'assists', and 'rebounds' columns
df[[' points ', ' assists ', ' rebounds ']]. max (axis= 0 )

points 29
assists 12
rebounds 12
dtype: int64

นอกจากนี้เรายังสามารถใช้ axis=1 เพื่อค้นหาค่าสูงสุดของแต่ละแถวใน DataFrame:

 #find max of each row
df. max (axis= 1 )

0 25
1 12
2 15
3 14
4 19
5 23
6 25
7 29
dtype: int64

จากผลลัพธ์เราจะเห็นได้ว่า:

  • ค่าสูงสุดในบรรทัดแรกคือ 25
  • ค่าสูงสุดในบรรทัดที่สองคือ 12
  • ค่าสูงสุดในแถวที่สามคือ 15

และอื่นๆ

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

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

วิธีการคำนวณค่าเฉลี่ยของคอลัมน์ใน Pandas
วิธีคำนวณผลรวมของคอลัมน์ใน Pandas
วิธีค้นหาค่าสูงสุดของคอลัมน์ใน Pandas

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

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