วิธีแปลงแถว pandas dataframe เป็นรายการ (พร้อมตัวอย่าง)


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

 row_list = df. loc [2 ,:]. values . flatten (). tolist ()

ไวยากรณ์เฉพาะนี้จะแปลงค่าในตำแหน่งที่ 2 ของดัชนีแถวของ DataFrame ให้เป็นรายการ

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

ตัวอย่าง: แปลงแถว Pandas DataFrame เป็นรายการ

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแปลงค่าจากตำแหน่งที่ 2 ของดัชนีแถวเป็นรายการ:

 #convert row at index 2 to list
row_list = df. loc [2,:]. values . flatten (). tolist ()

#view results
print (row_list)

['C', 19, 7, 10]

เราจะเห็นว่าค่าที่ตำแหน่ง 2 ของดัชนีแถวถูกแปลงเป็นรายการสี่ค่าแล้ว

เราสามารถยืนยันได้ว่าผลลัพธ์จะเป็นรายการโดยใช้ฟังก์ชัน type() :

 #view type
print ( type (row_list))

<class 'list'>

หากคุณต้องการรวมเฉพาะค่าคอลัมน์ที่ระบุในรายการ คุณสามารถระบุคอลัมน์ตามชื่อได้

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

 #convert values in row index position 2 to list (for team and points columns)
row_list = df. loc [2,[' team ',' points ']]. values . flatten (). tolist ()

#view results
print (row_list)

['C', 19]

โปรดทราบว่ามีเพียงค่าคอลัมน์ ทีม และ คะแนน เท่านั้นที่รวมอยู่ในรายการ

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

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

วิธีแปลงคอลัมน์เฉพาะใน Pandas เป็นอาร์เรย์ NumPy
วิธีแปลงรายการเป็นคอลัมน์ใน Pandas
วิธีเพิ่มแถวทั้งหมดให้กับ Pandas DataFrame

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

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