Pandas: วิธีต่อสตริงโดยใช้ groupby


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

 df. groupby ([' group_var '], as_index= False ). agg ({' string_var ': ' ' .join })

สูตรเฉพาะนี้จัดกลุ่มแถวตามคอลัมน์ group_var จากนั้นเชื่อมสตริงในคอลัมน์ string_var

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

ตัวอย่าง: วิธีเชื่อมต่อสตริงโดยใช้ GroupBy

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' quarter ': [1, 1, 2, 2, 1, 1, 2, 2],
                   ' employee ': ['Andy', 'Bob', 'Chad', 'Diane',
                                'Elana', 'Frank', 'George', 'Hank']})

#view DataFrame
print (df)

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

 #group by store and quarter, then concatenate employee strings
df. groupby ([' store ', ' quarter '], as_index= False ). agg ({' employee ':''. join })

	store quarter employee
0 To 1 Andy Bob
1 A 2 Chad Diane
2 B 1 Elana Frank
3 B 2 George Hank

ผลลัพธ์ที่ได้คือ DataFrame ที่จัดกลุ่มตาม ร้านค้า และ ไตรมาส โดยมีสตริงคอลัมน์ พนักงาน ต่อกันด้วยช่องว่าง

นอกจากนี้เรายังสามารถเชื่อมสตริงโดยใช้ตัวคั่นอื่น เช่น สัญลักษณ์ & :

 #group by store and quarter, then concatenate employee strings
df. groupby ([' store ', ' quarter '], as_index= False ). agg ({' employee ':' & '. join })

	store quarter employee
0 To 1 Andy & Bob
1 A 2 Chad & Diane
2 B 1 Elana & Frank
3 B 2 George & Hank

โปรดทราบว่าขณะนี้สตริงในคอลัมน์พนักงานถูกคั่นด้วยสัญลักษณ์ &

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของการดำเนินการ GroupBy ใน pandas ได้ที่นี่

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

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

นุ่น: วิธีคำนวณผลรวมสะสมต่อกลุ่ม
Pandas: วิธีนับค่าที่ไม่ซ้ำตามกลุ่ม
นุ่น: วิธีคำนวณความสัมพันธ์ตามกลุ่ม

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

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