كيفية حذف عمود غير مسمى في 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
كيفية إزالة الأعمدة المكررة في الباندا

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *