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

كيفية حذف عمود من dataframe في pandas

Mohamed Elnemr

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...