วิธีลบคอลัมน์ที่ไม่มีชื่อใน pandas dataframe


คุณสามารถใช้สองวิธีต่อไปนี้เพื่อลบคอลัมน์ใน DataFrame แพนด้าที่มี “Unnamed” ในชื่อคอลัมน์:

วิธีที่ 1: ลบคอลัมน์ที่ไม่มีชื่อเมื่อนำเข้าข้อมูล

 df = pd. read_csv (' my_data.csv ', index_col= 0 )

วิธีที่ 2: ลบคอลัมน์ที่ไม่มีชื่อหลังจากการนำเข้าข้อมูล

 df = df. loc [:, ~df. columns . str . contains (' ^Unnamed ')]

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

ตัวอย่างที่ 1: ลบคอลัมน์ที่ไม่มีชื่อเมื่อนำเข้าข้อมูล

สมมติว่าเราสร้าง DataFrame แพนด้าธรรมดาและส่งออกเป็นไฟล์ CSV:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#view DataFrame
print (df1)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

#export DataFrame to CSV file
df1. to_csv (' my_data.csv ')

ตอนนี้เมื่อเราพยายามอ่านไฟล์ลงใน DataFrame ของ pandas คอลัมน์แรกจะมีชื่อว่า Unnamed: 0

 #import CSV file
df2 = pd. read_csv (' my_data.csv ')

#view DataFrame
print (df2)

   Unnamed: 0 team points rebounds
0 0 A 4 12
1 1 B 4 7
2 2 C 6 8
3 3 D 8 8
4 4 E 9 5
5 5 F 5 11

เพื่อหลีกเลี่ยงปัญหานี้ เราสามารถระบุ index_col=0 เพื่อบอกแพนด้าว่าคอลัมน์แรกเป็นคอลัมน์ดัชนีจริงๆ:

 #import CSV file
df2 = pd. read_csv (' my_data.csv ', index_col= 0 )

#view DataFrame
print (df2)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

ตัวอย่างที่ 2: ลบคอลัมน์ที่ไม่มีชื่อหลังจากนำเข้าข้อมูล

สมมติว่าเราสร้าง DataFrame แพนด้าธรรมดาและส่งออกเป็นไฟล์ CSV:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#export DataFrame to CSV file
df1. to_csv (' my_data.csv ')

ตอนนี้สมมติว่าเรานำเข้าไฟล์นี้ไปยัง DataFrame ของแพนด้า:

 #import CSV file
df2 = pd. read_csv (' my_data.csv ')

#view DataFrame
print (df2)

   Unnamed: 0 team points rebounds
0 0 A 4 12
1 1 B 4 7
2 2 C 6 8
3 3 D 8 8
4 4 E 9 5
5 5 F 5 11

หากต้องการลบคอลัมน์ที่มีคำว่า “Unnamed” อยู่ในชื่อ เราสามารถใช้ไวยากรณ์ต่อไปนี้:

 #drop any column that contains "Unnamed" in column name
df2 = df2. loc [:, ~df2. columns . str . contains (' ^Unnamed ')]

#view updated DataFrame
print (df2)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

โปรดทราบว่าคอลัมน์ “Unnamed: 0” ได้ถูกลบออกจาก DataFrame

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

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

วิธีลบแถวแรกใน Pandas DataFrame
วิธีลบคอลัมน์แรกใน Pandas DataFrame
วิธีลบคอลัมน์ที่ซ้ำกันใน Pandas

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

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