اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يمكنك استخدام نفس الكود الذي حاولت استخدامه لكن بتعديل بسيط في طريقه الكتابه ليصبح كالتالي:

del df['column_name']

كذلك يمكنك استخدام الدالة drop لنفس المهمة كالتالي:

df = df.drop('column_name', 1)

حيث أن 1 هو رقم ال axis بحيث أن 1 هو العمود بينما 0 هو الصف.

  • 0
نشر

إضافة لطريقة الحل التي شرحها أحمد يمكنك حذف عمود بواسطة ال index كالتالي

df = df.drop(df.columns[[0, 1, 3]], axis=1)  # df.columns تعتبر zero-based 

كما يمكنك استخدام الدالة pop كالتالي

df.pop('column-name')

لاحظ المثال التالي

df = DataFrame.from_items([('A', [1, 2, 3]), ('B', [4, 5, 6]), ('C', [7,8, 9])], orient='index', columns=['one', 'two', 'three']) print df

   one  two  three
A    1    2      3
B    4    5      6
C    7    8      9
df.drop(df.columns[[0]], axis=1, inplace=True) print df

   two  three
A    2      3
B    5      6
C    8      9

three = df.pop('three') print df

   two
A    2
B    5
C    8

 

  • 0
نشر

إليك كل ماقد تحتاجه:

import pandas as pd
df = pd.DataFrame(data = {'col1' : [1, 2], 'col2' : [6, 7]}) 
df
"""
    col1 	col2
0 	1 	6
1 	2 	7
"""
#drop النهج الذي نتبعه لحذف الأعمدة هو استخدام 
# إليك كامل التفاصيل
# لحذف عمود محدد من خلال اسم العمود
df.drop(['col1'], axis = 1) # طبعاً التغيرات لاتطبق على الداتافريم الأصلي وإنما على نسخة منه
"""
col2
0 	6
1 	7
"""
# inplace إذا أردنا أن تكون التعديلات مباشرة على الداتافريم نقوم بتفعيل الوسيط 
#df.drop(['col1'], axis = 1,inplace=True)
# axis : تشير إلى المحور الذي سيتم تطبيق عملية الحذف على أساسه وهنا حددنا المحور الأفقي أي الأعمدة
# الآن لوأردنا حذف سطر محدد نقوم بتمرير الفهرس له
df.drop([0], axis = 0) # أيضاً نغير المحور
"""
col1 	col2
1 	2 	7
"""
# ماذا لو أردنا حذف عدة أعمدة من خلال الاسم
df.drop(['col1', 'col2'], axis = 1)
# إذا أردنا حذف عدة أعمدة أو أسطر من خلال فهرسها
df.drop(df.columns[[0,1]], axis = 1)
# في حال كانت الأعمدة المراد حذفها كثيرة وضمن مجالات مستمرة أو متتالية
#iloc سيكون من المتعب تحديدها واحداً تلو الآخر لذا نستخدم 
df.drop(df.iloc[:, 0:1], axis = 1)
# : نضبه على كل الأسطر أي iloc بحيث الوسيط الأول لل 
# أما الوسيط الثاني لها نحدد له المجال المراد حذفه
#ix أو يمكننا استخدام الدالة 
# بحيث نحذف كل الأعمدة الموجودة ضمن العمودين المحددين
df.drop(df.ix[:, 'col1':'col2'].columns, axis = 1) # حذف كل الأعمدة بين العمودين المحددين
# loc وبشكل مشابه أيضاً تستطيع ن تستخدم
df.drop(df.loc[:, 'col1':'col2'].columns, axis = 1)

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...