• 0

كيف يمكننا المرور على أسطر ال DataFrame في Pandas

لدي تلك البيانات على شكل dataframe 

import pandas as pd
data = [{'a':1, 'b':2}, {'a':3,'b':4}, {'a':5,'b':6}]
df = pd.DataFrame(data)

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

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


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

يمكننا إستخدام الدالة DataFrame.iterrows والتي تمكننا باستخدام الحلقات التكرارية بداخل dataframe في pandas.

المثال التالي يوضح ما تريد أن تقوم به.

import pandas as pd
data = [{'a':1, 'b':2}, {'a':3,'b':4}, {'a':5,'b':6}]
df = pd.DataFrame(data)

for index, row in df.iterrows():
    print(row['a'], row['b'])
    
>>> 1 2
	3 4
	5 6

 

تمّ تعديل بواسطة Ahmed Sharshar

انشر على الشّبكات الاجتماعية


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

المرور على أسطر الداتافريم هو فكرة سيئة دوماً... أي دالة تحوي كلمة iter في اسمها حاول الابتعاد عنها قدر المستطاع (حدد سبب رغبتك في استخدامها ثم حاول أن تستخدم طرق أخرى) لأنها ستجعلك تنتظر جداً عندما يكون حجم الداتافريم أكبر من 1000. وبكافة الأحوال سأعرض لك الطرق المتاحة لتنفذ طلبك.
إضافة للطريقة التي قدمها أحمد هناك DataFrame.itertuples:

for row in df.itertuples(index=True, name='Pandas'):
    print(row.c1, row.c2)

مثال:

# importing pandas as pd
import pandas as pd

# sample dataframe
df = pd.DataFrame({
	'A': [1, 2, 3],
	'B': ['a', 'b', 'c']})
df
"""
    A 	B
0 	1 	a
1 	2 	b
2 	3 	c
"""
for row in df.itertuples(index=True, name='Pandas'):
    print(row.A, row.B)
"""
1 a
2 b
3 c
"""

عموماً هي أسرع من iterrows بكثير. كما ويمكنك استخدام iloc:

# importing pandas as pd
import pandas as pd

# sample dataframe
df = pd.DataFrame({
	'A': [1, 2, 3],
	'B': ['a', 'b', 'c']})
df
"""
    A 	B
0 	1 	a
1 	2 	b
2 	3 	c
"""
for i in range(0, len(df)):
    print (df.iloc[i]['A'], df.iloc[i]['B'])
"""
1 a
2 b
3 c
"""


 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


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

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن