Ali Ahmed55 نشر 31 مايو أرسل تقرير نشر 31 مايو السلام عليكم انا هنا عاوز اشوف عديد القيمه المفقود ل كل عمود ولكن في البيانات دي فيه 341 عمود ف pandas مش بيعرضهم كلهم بس انا عاوز اعرضهم كلهم ازي ؟ ده الكود data_train.isna().sum() ودي النتجيه row_id 0 sequence_type 0 sequence_id 0 sequence_counter 0 subject 0 ... tof_5_v59 30142 tof_5_v60 30142 tof_5_v61 30142 tof_5_v62 30142 tof_5_v63 30142 Length: 341, dtype: int64 3 اقتباس
0 محمد_عاطف نشر 31 مايو أرسل تقرير نشر 31 مايو وعليكم السلام ورحمة الله وبركاته. أعتقد أن تريد إظهار جميع الأعمدة وليس 5 فقط . حيث يشكل افتراضي pandas تقوم بتلخيص العرض ولا تقوم بعرض كل الأعمدة إذا كان عددها كبيرا كما لديك هنا . وتوجد العديد من الحلول يمكنك حاليا إستخدام هذا الحل : import pandas as pd # لعرض جميع الأعمدة بدون تقييد pd.set_option('display.max_columns', None) data_train.isna().sum() هنا قمنا بتغير إعدادات pandas لتعرض جميع الأعمدة. 1 اقتباس
0 Ali Ahmed55 نشر 31 مايو الكاتب أرسل تقرير نشر 31 مايو ايوه بس هي الطريقعه دي بشتعل معه head() فقط بتاريخ 12 دقائق مضت قال محمد_عاطف: وعليكم السلام ورحمة الله وبركاته. أعتقد أن تريد إظهار جميع الأعمدة وليس 5 فقط . حيث يشكل افتراضي pandas تقوم بتلخيص العرض ولا تقوم بعرض كل الأعمدة إذا كان عددها كبيرا كما لديك هنا . وتوجد العديد من الحلول يمكنك حاليا إستخدام هذا الحل : import pandas as pd # لعرض جميع الأعمدة بدون تقييد pd.set_option('display.max_columns', None) data_train.isna().sum() هنا قمنا بتغير إعدادات pandas لتعرض جميع الأعمدة. 1 اقتباس
0 محمد_عاطف نشر 31 مايو أرسل تقرير نشر 31 مايو بتاريخ 1 دقيقة مضت قال Ali Ahmed55: ايوه بس هي الطريقعه دي بشتعل معه head() فقط لا هذه الطريقة لا تقتصر على head() فقط بل تعمل مع كل عمليات العرض في pandas حيث فكرة هذ السطر "أنك تخبر pandas أن تعرض كل الأعمدة لك مهما كان عددهم. هل يمكنك توضيح ما الذي ظهر لك عند إستخدام هذا الكود ؟ 1 اقتباس
0 Ali Ahmed55 نشر 31 مايو الكاتب أرسل تقرير نشر 31 مايو بتاريخ الآن قال محمد_عاطف: لا هذه الطريقة لا تقتصر على head() فقط بل تعمل مع كل عمليات العرض في pandas حيث فكرة هذ السطر "أنك تخبر pandas أن تعرض كل الأعمدة لك مهما كان عددهم. هل يمكنك توضيح ما الذي ظهر لك عند إستخدام هذا الكود ؟ انا استخدومت الكود ده في خانه لوجدها في Kaggle Notebook وعملت Run و بعد كده بشوف لقيتي بس الhead() هو العرض الاعمده كله بس الكود ده الا data_train.isna().sum() والا حتي ده data_train.info() 1 اقتباس
0 محمد_عاطف نشر 31 مايو أرسل تقرير نشر 31 مايو بتاريخ 2 دقائق مضت قال Ali Ahmed55: انا استخدومت الكود ده في خانه لوجدها في Kaggle Notebook وعملت Run و بعد كده بشوف لقيتي بس الhead() هو العرض الاعمده كله بس الكود ده الا data_train.isna().sum() والا حتي ده data_train.info() بما أنك وضحت أنك تعمل على Kaggle Notebook ودعني أوضح لك لما يعمل على Kaggle . إن head() تقوم بإعادة DataFrame، وبالتالي pandas تقوم بطباعة جدول كامل وفعلا إعداد display.max_columns = None يعمل هنا ويجعله يعرض كل الأعمدة مهما كان عددهم. أما في data_train.isna().sum() فالنتيجة هنا عبارة عن Series طويلة وليس DataFrame فحتى لو إستخدمت pd.set_option('display.max_columns', None) فهذا لن يؤثر على عدد الصفوف أو القيم في Series بل بيأثر على الأعمدة فقط. يمكنك تجربة الكود التالي ويجب أن يعمل معك إن شاء الله : import pandas as pd # عرض كل الأعمدة والصفوف pd.set_option('display.max_columns', None) pd.set_option('display.max_rows', None) #هنا لو أردت منع إختصار النصوص pd.set_option('display.width', None) pd.set_option('display.max_colwidth', None) print(data_train.isna().sum()) 1 اقتباس
0 Ali Ahmed55 نشر 31 مايو الكاتب أرسل تقرير نشر 31 مايو هو تمام جدا جدا بس الكود ده pd.set_option('display.max_rows', None) اشتغل معه ده print(data_train.isna().sum()) ولكن ماشتغلش معه ده data_train.ifno() لسه النتجيه دي كده <class 'pandas.core.frame.DataFrame'> RangeIndex: 107 entries, 0 to 106 Columns: 336 entries, row_id to tof_5_v63 dtypes: float64(332), int64(1), object(3) memory usage: 281.0+ KB 1 اقتباس
0 محمد_عاطف نشر 31 مايو أرسل تقرير نشر 31 مايو بتاريخ 5 دقائق مضت قال Ali Ahmed55: هو تمام جدا جدا بس الكود ده pd.set_option('display.max_rows', None) اشتغل معه ده print(data_train.isna().sum()) ولكن ماشتغلش معه ده data_train.ifno() لسه النتجيه دي كده <class 'pandas.core.frame.DataFrame'> RangeIndex: 107 entries, 0 to 106 Columns: 336 entries, row_id to tof_5_v63 dtypes: float64(332), int64(1), object(3) memory usage: 281.0+ KB يمكنك تجربة الكود التالي بدلا من info : col_info = pd.DataFrame({ 'dtype': data_train.dtypes, 'missing': data_train.isna().sum() }) print(col_info) 1 اقتباس
0 بلال زيادة نشر 1 يونيو أرسل تقرير نشر 1 يونيو عشان تعرض كل الأعمدة الـ 341 في إخراج data_train.isna().sum() باستخدام Pandas، لأن Pandas بيختصر الإخراج افتراضيًا لما يكون فيه عدد كبير من الأعمدة، تقدر تغيّر إعدادات العرض باستخدام pd.set_option هذا هيخلي Pandas يعرض كل الأعمدة من غير اختزال. import pandas as pd # إعداد Pandas لعرض كل الأعمدة pd.set_option('display.max_columns', None) pd.set_option('display.max_rows', None) # لو عايز تعرض كل الصفوف كمان # عرض عدد القيم المفقودة لكل عمود print(data_train.isna().sum()) pd.set_option('display.max_columns', None) بيخلي Pandas يعرض كل الأعمدة بغض النظر عن عددها. pd.set_option('display.max_rows', None) اختياري، لو عايز تعرض كل الصفوف من غير اختزال. لما تشغل data_train.isna().sum() هتشوف عدد القيم المفقودة لكل عمود من الـ 341 عمود. لو عايز تعيد الإعدادات للوضع الافتراضي بعدين، استخدم: pd.reset_option('display.max_columns') pd.reset_option('display.max_rows') 1 اقتباس
0 Ali Ahmed55 نشر 1 يونيو الكاتب أرسل تقرير نشر 1 يونيو تمام جدا جدا الف شكراا جدا لحضرتكم جزاكم الله كل خير اقتباس
0 Mustafa Suleiman نشر 2 يونيو أرسل تقرير نشر 2 يونيو الأفضل إنشاء دالة شاملة لتحليل القيم المفقودة: def analyze_missing_values(df): missing_df = pd.DataFrame({ 'Column': df.columns, 'Missing_Count': df.isna().sum().values, 'Missing_Percentage': (df.isna().sum().values / len(df) * 100).round(2), 'Data_Type': df.dtypes.values }) ثم الترتيب حسب عدد القيم المفقودة: missing_df = missing_df.sort_values('Missing_Count', ascending=False) ثم عرض الملخص: print(f"Total columns: {len(df.columns)}") print(f"Columns with no missing values: {len(missing_df[missing_df['Missing_Count'] == 0])}") print(f"Columns with missing values: {len(missing_df[missing_df['Missing_Count'] > 0])}") print("\n" + "="*60) ثم عرض جميع النتائج: with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(missing_df.to_string(index=False)) return missing_df ولا تنسى استدعاء الدالة: missing_analysis = analyze_missing_values(data_train) 1 اقتباس
0 Ali Ahmed55 نشر 2 يونيو الكاتب أرسل تقرير نشر 2 يونيو تمام جدا جدا الف شكراا جدا لحضرتك جزاك الله كل خير اقتباس
السؤال
Ali Ahmed55
السلام عليكم
انا هنا عاوز اشوف عديد القيمه المفقود ل كل عمود ولكن في البيانات دي فيه 341 عمود ف pandas مش بيعرضهم كلهم بس انا عاوز اعرضهم كلهم ازي ؟
ده الكود
ودي النتجيه
11 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.