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

إقتطاع بعض العناصر على شكل dataframe في مكتبة pandas

Mohamed Elnemr

السؤال

لدي بعض العناصر على شكل dataframe كالتالي:


import pandas as pd
  

sr = pd.Series([19.5, 16.8, 22.78, 20.124, 18.1002])

print(sr)

1-1680.png.2d42a9220cde31ec3bd35768865c2f04.png

أريد أن أقوم بإقتصاص جزء معين من هذه البيانات، فمثلا أريد إقتطاع البيانات التي ترميزها index أصغر من 1 وأكبر من  3. كيف يمكنني فعل ذلك؟

تم التعديل في بواسطة Mohamed Elnemr
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

في pandas توجد الدالة series.truncate  والتى تمكننا من إقتطاع أجزاء محددة من البيانات على شكل dataframe وهي كالتالي:

Series.truncate(before=None, after=None, axis=None, copy=True)

حيث نقوم بتحديد بداية ونهاية الأماكن التي نريد إقتطاعها ، ويمكن استخدامها لتحقيق هدفك كالتالي:

import pandas as pd
  
sr = pd.Series([19.5, 16.8, 22.78, 20.124, 18.1002])


# نقتطع البيانات ما قبل 1 وما بعد 3
sr.truncate(before = 1, after = 3)

ويكون شكل البيانات الخارجة كالتالي:

2-456.png.8ce047584d1721d206102cbe26484c9e.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إضافة للتابع الذي قدمه الأستاذ أحمد، يمكنك استخدام مفهوم ال Slicing (نفسه الذي نستخدمه مع المصفوفات):

import pandas as pd
dic1 = {'c1': ['55', '44', '33', '22'],
        'c2': ['1', '2', '3', '4']}
df1 = pd.DataFrame(dic1, columns=['c1', 'c2'])
print(df1)
"""
 c1 c2
0  55  1
1  44  2
2  33  3
3  22  4
"""
# الآن بفرض نريد أخذ الأسطر 1و 2
df1[1:3]
"""
 	c1 	c2
1 	44 	2
2 	33 	3
"""
# أول سطرين
df1[0:2]
"""
c1 	c2
0 	55 	1
1 	44 	2
"""
# وهكذا

كما ويمكنك استخدام iloc كالتالي:

import pandas as pd
dic1 = {'c1': ['55', '44', '33', '22'],
        'c2': ['1', '2', '3', '4'],
        'c3': ['5', '2', '0', '4']}
df1 = pd.DataFrame(dic1, columns=['c1', 'c2',"c3"])
# اختيار أسطر محددة
df1.iloc[0:2]
"""
c1 	c2 	c3
0 	55 	1 	5
1 	44 	2 	2
"""
# اختيار أعمدة محددة مع أسطر محددة
df1.iloc[1:3, 1:3]
"""
c2 	c3
1 	2 	2
2 	3 	0
"""
df1.iloc[0:3, 0:2]
"""
c1 	c2
0 	55 	1
1 	44 	2
2 	33 	3
"""

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...