วิธีลบคอลัมน์ที่ไม่มีชื่อใน 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