แปลง pandas dataframe เป็น numpy array (พร้อมตัวอย่าง)


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

 df. to_numpy ()

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

ตัวอย่างที่ 1: แปลง DataFrame ด้วยประเภทข้อมูลเดียวกัน

รหัสต่อไปนี้แสดงวิธีการแปลง DataFrame ของ pandas เป็นอาร์เรย์ NumPy เมื่อแต่ละคอลัมน์ใน DataFrame เป็นประเภทข้อมูลเดียวกัน:

 import pandas as pd

#create data frame
df1 = pd. DataFrame ({' rebounds ': [7, 7, 8, 13, 7, 4],
                    ' points ': [5, 7, 7, 9, 12, 9],
                    ' assists ': [11, 8, 10, 6, 6, 5]})

#view data frame
print (df1)

   rebound points assists
0 7 5 11
1 7 7 8
2 8 7 10
3 13 9 6
4 7 12 6
5 4 9 5

#convert DataFrame to NumPy array
new = df1. to_numpy ()

#view NumPy array
print (new)

[[ 7 5 11]
 [7 7 8]
 [8 7 10]
 [13 9 6]
 [7 12 6]
 [4 9 5]]

#confirm that new is a NumPy array
print (type(new))

<class 'numpy.ndarray'> 

#view data type
print (new. dtype )

int64

อาร์เรย์ Numpy มีประเภทข้อมูล int64 เนื่องจากแต่ละคอลัมน์ใน DataFrame แพนด้าดั้งเดิมนั้นเป็น int

ตัวอย่างที่ 2: แปลง DataFrame ด้วยประเภทข้อมูลแบบผสม

รหัสต่อไปนี้แสดงวิธีการแปลง DataFrame ของ pandas เป็นอาร์เรย์ NumPy เมื่อคอลัมน์ใน DataFrame ไม่ใช่ประเภทข้อมูลเดียวกันทั้งหมด:

 import pandas as pd

#create data frame
df2 = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [5, 7, 7, 9, 12, 9],
                    ' assists ': [11, 8, 10, 6, 6, 5]})

#view data frame
print (df2)

  player points assists
0 to 5 11
1 B 7 8
2 C 7 10
3 D 9 6
4 E 12 6
5 F 9 5

#convert DataFrame to NumPy array
new = df2. to_numpy ()

#view NumPy array
print (new)

[['A' 5 11]
 ['B' 7 8]
 ['C' 7 10]
 ['D' 9 6]
 ['E' 12 6]
 ['F' 9 5]]

#confirm that new is a NumPy array
print (type(new))

<class 'numpy.ndarray'> 

#view data type
print (new. dtype )

object

อาร์เรย์ Numpy มีประเภทข้อมูล Object เนื่องจากไม่ใช่ทุกคอลัมน์ใน DataFrame แพนด้าดั้งเดิมที่มีประเภทข้อมูลเดียวกัน

ตัวอย่างที่ 3: แปลง DataFrame และตั้งค่า NA

รหัสต่อไปนี้แสดงวิธีการแปลง DataFrame ของ pandas เป็นอาร์เรย์ NumPy และระบุค่าที่จะตั้งค่าสำหรับค่า NA ทั้งหมดใน DataFrame ดั้งเดิม:

 import pandas as pd

#create data frame
df3 = pd. DataFrame ({' player ': ['A', 'B', pd. NA , 'D', 'E', 'F'],
                    ' points ': [5, 7, pd. NA , 9, pd. NA , 9],
                    ' assists ': [11, 8, 10, 6, 6, 5]})

#view data frame
print (df3)

  player points assists
0 to 5 11
1 B 7 8
2 <NA> <NA> 10
3 D 9 6
4 E <NA> 6
5 F 9 5

#convert DataFrame to NumPy array
new = df3. to_numpy (na_value=' none ')

#view NumPy array
print (new)

[['A' 5 11]
 ['B' 7 8]
 ['none' 'none' 10]
 ['D' 9 6]
 ['E' 'none' 6]
 ['F' 9 5]]

#confirm that new is a NumPy array
print (type(new))

<class 'numpy.ndarray'> 

#view data type
print (new. dtype )

object

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

วิธีสร้าง Pandas DataFrame จากอาร์เรย์ NumPy
วิธีแปลงรายการเป็น DataFrame ใน Pandas
วิธีแปลง DataFrame เป็นรายการใน Pandas

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

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