Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - จัดกลุ่มแถว DataFrame เป็นลิสต์ใน Pandas

ใช้ groupby() ร่วมกับ apply(list) เพื่อรวมค่าในคอลัมน์ให้เป็นลิสต์ ตามกลุ่มของคอลัมน์อีกคอลัมน์หนึ่ง

ตัวอย่างโค้ด

import pandas as pd

dataFrame = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 150, 110, 80, 110, 90]
})

print("DataFrame ...\n", dataFrame)

# Group by 'Car' and aggregate 'Units' into list
dataFrame = dataFrame.groupby('Car')['Units'].apply(list)

print("\nDataFrame ...\n", dataFrame)

ผลลัพธ์

DataFrame ...
Car
Audi      [110]
BMW       [100]
Bentley   [110]
Jaguar     [90]
Lexus     [150]
Mustang    [80]
Name: Units, dtype: object

คำอธิบาย

  • groupby('Car') จัดกลุ่มตามรถยนต์
  • ['Units'] เลือกคอลัมน์ที่จะรวม
  • .apply(list) รวมค่าในแต่ละกลุ่มเป็น List
  • ผลลัพธ์เป็น Series ที่ Index คือ Car, Value คือ List ของ Units