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

السؤال

نشر (معدل)

لدي بعض العناصر على شكل 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...