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

السؤال

Recommended Posts

  • 0
نشر

يمكنك ببساطة استخدام الدالة groupby ثم استخدام count لحساب عدد تكرار كل عنصر كالتالي:

In [1]:
df = pd.DataFrame({'a':list('abccbac')})
df.groupby('a').count()

Out[1]:

   a
    
c  3
a  2
a  2

أو مباشرة يمكنك استخدام value_counts() لعد عدد القيم كالتالي:

In [2]:
df['a'].value_counts()

Out[2]:

c    3
a    2
b    2

اما اذا أردت حساب قيمة تكرار كل عنصر بشكل مفرداً ووضعها في عمود للتكرارات يمكنك استخدام transform كالتالي:

In [4]:
df['freq'] = df.groupby('a')['a'].transform('count')
df

Out[4]:

   a freq
0  a    2
1  b    3
2  c    2
3  c    2
4  b    3
5  a    2
6  b    3

 

  • 0
نشر

إليك ماتحتاجه، أضفت طريقتين للقيام بالمهمة من دون استخدام توابع باندا (توابع باندا دوماً أقل كفاءة من ناحية الأداء):

df = pd.DataFrame({'col':list('abccbac')})
df
"""
 	  col
0 	a
1 	b
2 	c
3 	c
4 	b
5 	a
6 	c
"""
#pivot_table ألطريقة الأولى هي استخدام الدالة
df.pivot_table(index = ['col'], aggfunc ='size')
"""
col
a    2
b    2
c    3
dtype: int64
"""
#Counter يمكنك أيضاً استخدام 
from collections import Counter
Counter(list(df['col']))
# Counter({'a': 2, 'b': 2, 'c': 3})
#لمعرفة عدد مرات تكرار عنصر معين operator يمكنك أيضاً استخدام 
import operator
operator.countOf(list(df['col']), "a")
# 2

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...