Pandas: วิธีแบ่ง dataframe ตามค่าคอลัมน์
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อแยก DataFrame แพนด้าตามค่าคอลัมน์:
#define value to split on x = 20 #define df1 as DataFrame where 'column_name' is >= 20 df1 = df[df[' column_name '] >= x] #define df2 as DataFrame where 'column_name' is < 20 df2 = df[df[' column_name '] < x]
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: แยก Pandas DataFrame ตามค่าคอลัมน์
สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [22, 24, 19, 18, 14, 29, 31, 16], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points rebounds 0 to 22 11 1 B 24 8 2 C 19 10 3 D 18 6 4 E 14 6 5 F 29 5 6 G 31 9 7:16:12
เราสามารถใช้โค้ดต่อไปนี้เพื่อแบ่ง DataFrame ออกเป็นสอง DataFrames โดยอันแรกประกอบด้วยแถวที่ “คะแนน” มากกว่าหรือเท่ากับ 20 และอันที่สองประกอบด้วยแถวที่ “คะแนน” น้อยกว่า 20:
#define value to split on x = 20 #define df1 as DataFrame where 'points' is >= 20 df1 = df[df[' points '] >= x] print (df1) team points rebounds 0 to 22 11 1 B 24 8 5 F 29 5 6 G 31 9 #define df2 as DataFrame where 'points' is < 20 df2 = df[df[' points '] < x] print (df2) team points rebounds 2 C 19 10 3 D 18 6 4 E 14 6 7:16:12
โปรดทราบว่าเรายังสามารถใช้ฟังก์ชัน reset_index() เพื่อรีเซ็ตค่าดัชนีสำหรับ DataFrame แต่ละตัวที่ได้:
#define value to split on x = 20 #define df1 as DataFrame where 'points' is >= 20 df1 = df[df[' points '] >= x]. reset_index (drop= True ) print (df1) team points rebounds 0 to 22 11 1 B 24 8 2 F 29 5 3 G 31 9 #define df2 as DataFrame where 'points' is < 20 df2 = df[df[' points '] < x]. reset_index (drop= True ) print (df2) team points rebounds 0 C 19 10 1 D 18 6 2 E 14 6 3:16:12
โปรดทราบว่าดัชนีของ DataFrame ที่เป็นผลลัพธ์แต่ละรายการจะเริ่มต้นที่ 0
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:
วิธีแก้ไข KeyError ใน Pandas
วิธีแก้ไข: ValueError: ไม่สามารถแปลง float NaN เป็น int
วิธีแก้ไข: ValueError: ตัวถูกดำเนินการไม่สามารถออกอากาศด้วยรูปร่างได้