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

حساب عدد مرات تكرار عنصر داخل dataframe في pandas

Mohamed Elnemr

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...