Mohamed Elnemr نشر 22 أغسطس 2021 أرسل تقرير نشر 22 أغسطس 2021 لدي تلك البيانات على شكل 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 Ahmed Sharshar نشر 22 أغسطس 2021 أرسل تقرير نشر 22 أغسطس 2021 (معدل) يمكننا إستخدام الدالة 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 تم التعديل في 22 أغسطس 2021 بواسطة Ahmed Sharshar اقتباس
0 Ali Haidar Ahmad نشر 23 أغسطس 2021 أرسل تقرير نشر 23 أغسطس 2021 المرور على أسطر الداتافريم هو فكرة سيئة دوماً... أي دالة تحوي كلمة 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 اقتباس
السؤال
Mohamed Elnemr
لدي تلك البيانات على شكل dataframe
أريد أن أقوم بعمل حلقة تكرارية بإستخدام for للصفوف بداخل ال dataframe، حاولت بأكثر من طريقة ولم تفلح، كيف يمكنني أن أقوم بفعلها؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.