แปลง 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