كيفية حذف عمود غير مسمى في pandas dataframe
يمكنك استخدام الطريقتين التاليتين لحذف عمود في pandas DataFrame الذي يحتوي على “غير مسمى” في اسم العمود:
الطريقة الأولى: إزالة العمود غير المسمى عند استيراد البيانات
df = pd. read_csv (' my_data.csv ', index_col= 0 )
الطريقة الثانية: إزالة العمود غير المسمى بعد استيراد البيانات
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 الباندا، تتم تسمية العمود الأول باسم: 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 ')
لنفترض الآن أننا قمنا باستيراد هذا الملف إلى Pandas 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
لاحظ أنه تمت إزالة العمود “غير مسمى: 0” من DataFrame.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
كيفية إزالة الصف الأول في Pandas DataFrame
كيفية إزالة العمود الأول في Pandas DataFrame
كيفية إزالة الأعمدة المكررة في الباندا