วิธีแก้ไขใน pandas: keyerror: ไม่พบ ['label'] ในแกน”
ข้อผิดพลาดที่คุณอาจพบเมื่อใช้นุ่นคือ:
KeyError : "['Label'] not found in axis"
ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อคุณพยายามลบคอลัมน์ออกจาก Pandas DataFrames และลืมระบุ axis=1
ตามค่าเริ่มต้น อาร์กิวเมนต์แกนจะถูกตั้งค่าเป็น 0 ซึ่งอ้างอิงถึงเส้น คุณต้องระบุ axis=1 เพื่อบอกให้แพนด้าดูคอลัมน์
ตัวอย่างต่อไปนี้แสดงวิธีการแก้ไขข้อผิดพลาดนี้ในทางปฏิบัติ
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' points ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team assists points 0 to 5 11 1 to 7 8 2 to 7 10 3 to 9 6 4 B 12 6 5 B 9 5 6 B 9 9 7 B 4 12
ตอนนี้ สมมติว่าเราพยายามลบคอลัมน์ “points” ออกจาก DataFrame:
#attempt to drop "points" column
df_new = df. drop (' points ')
KeyError : "['points'] not found in axis"
ตามค่าเริ่มต้น ฟังก์ชัน drop() จะใช้ axis=0 ซึ่งอ้างอิงถึงแถวของ DataFrame
เนื่องจากไม่มีชื่อแถวที่เรียกว่า “คะแนน” เราจึงได้รับข้อผิดพลาด
วิธีการแก้ไขข้อผิดพลาด
หากต้องการบอกให้แพนด้าดูคอลัมน์แทน เราต้องระบุ axis=1 ดังนี้
#drop "points" column
df_new = df. drop (' points ', axis= 1 )
#view updated DataFrame
print (df)
team assists
0 to 5
1 to 7
2 to 7
3 to 9
4 B 12
5 B 9
6 B 9
7 B 4
โปรดทราบว่าคอลัมน์ “คะแนน” ถูกลบออกจาก DataFrame และเราไม่ได้รับข้อผิดพลาดใดๆ
เนื่องจากเราใช้ axis=1 ดังนั้นแพนด้าจึงรู้ว่าต้องดูชื่อคอลัมน์สำหรับ “จุด” เมื่อตัดสินใจว่าจะลบค่าใดออกจาก DataFrame
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:
วิธีแก้ไข KeyError ใน Pandas
วิธีแก้ไข: ValueError: ไม่สามารถแปลง float NaN เป็น int
วิธีแก้ไข: ValueError: ตัวถูกดำเนินการไม่สามารถออกอากาศด้วยรูปร่างได้