นุ่น: วิธีรับแถวแรกของแต่ละกลุ่ม


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

 df. groupby (' column_name '). nth ( 0 )

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: รับแถวแรกของแต่ละกลุ่มใน Pandas

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 29],
                   ' assists ': [5, 19, 14, 8, 9, 12, 13, 8]})

#view DataFrame
df

	team points assists
0 to 18 5
1 To 22 19
2 B 19 14
3 B 14 8
4 B 14 9
5 C 11 12
6 C 20 13
7 C 29 8

เราสามารถใช้โค้ดต่อไปนี้เพื่อรับแถวแรกสำหรับแต่ละทีม:

 #get first row for each team
df. groupby (' team '). nth ( 0 )

	assist points
team		
At 18 5
B 19 14
C 11 12

นอกจากนี้เรายังสามารถระบุ as_index=False เพื่อคงค่าดัชนีดั้งเดิมไว้ได้:

 #get first row for each team, keep original index values
df. groupby (' team ', as_index= False ). nth ( 0 )

        team points assists
0 to 18 5
2 B 19 14
5 C 11 12

โปรดทราบว่าคุณสามารถส่งรายการค่าไปยังฟังก์ชัน nth() ได้ หากคุณต้องการรับ n แถวแรกของแต่ละกลุ่ม

ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีรับสองแถวแรกของแต่ละกลุ่ม:

 #get first two rows for each team, keep original index values
df. groupby (' team ', as_index= False ). nth (( 0,1 ) )

team points assists
0 to 18 5
1 To 22 19
2 B 19 14
3 B 14 8
5 C 11 12
6 C 20 13

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน nth() ได้ที่นี่

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

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

วิธีรับ Pandas DataFrame แถวแรก
วิธีลบแถวแรกใน Pandas DataFrame
วิธีแทรกแถวลงใน Pandas DataFrame

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

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