Fahmy Mostafa نشر 15 يوليو 2021 أرسل تقرير نشر 15 يوليو 2021 لدي كود كالتالي: import pandas as pd import numpy as np dff = pd.DataFrame(np.random.randn(1,2),columns=list('AB')) واحصل على النتيجة التالية: A B 0 -1.284531 1.923908 وعندما أقوم بكتابة : dff.mean(axis=1) أحصل على النتيجة التالية: 0 0.319689 dtype: float64 كنت أعتقد أن axis=1 تشير إلى الأعمدة، لذا ما الذي تعنيه axis عند إستعمال مصفوفة numpy مع pandas؟ 1 اقتباس
0 عبدالباسط ابراهيم نشر 15 يوليو 2021 أرسل تقرير نشر 15 يوليو 2021 يمكن شرح ال axis سواء كان 1 أو 0 ببساطة كالتالي في حالة أن ال Axis = 0 وفي حالة الدالة mean سيقوم البرنامج بالعمل على أو حساب المتوسط من خلال العناصر الموجودة في جميع الصفوف في كل عمود بينما في حالة أن ال Axis = 1 (وبالطبع في الدالة mean) سيقوم البرنامج بحساب المتوسط من خلال العناصر الموجودة في جميع الأعمدة في كل صف والصورة التالية توضع الشرح السابق 1 اقتباس
1 Ali Haidar Ahmad نشر 16 يوليو 2021 أرسل تقرير نشر 16 يوليو 2021 أولاً أحب أن ألفت الانتباه إلى أن الأمر غير مرتبط ب pandas فحتى مع المصفوفات العادية سيسلك نفس السلوك، صحيح أن الأمر قد يربك قليلاً كون أي شخص سيتوقع للمرة الأولى أن axis=1 يجب أن تحسب المتوسط للعمود وليس للسطر كما يحدث، لكن الأمر هنا مختلف ف axis= 0 تشير إلى التجميع على طول الصفوف أما 1 تشير إلى التجميع على طول الأعمدة بشكل أبسط يمكنك القول: axis:يحدد المحور الذي يتم من خلاله حساب المتوسط. المحور 0: سيعمل على جميع الصفوف في كل عمود. أما المحور 1: يعمل على جميع الأعمدة في كل صف. وبشكل افتراضي يحسب المتوسط على كل المصفوفة (عند ضبطه على NONE أي الحالة الافتراضية). كما في المثال: import numpy as np v = [[1,5], [1, 2],[1, 2]] v=np.array(v) """ array([[1, 5], [1, 2], [1, 2]]) """ v.mean(axis=None) # 2.0 v.mean(axis=1) # array([3. , 1.5, 1.5]) v.mean(axis=0) # array([1., 3.]) 2 اقتباس
السؤال
Fahmy Mostafa
لدي كود كالتالي:
واحصل على النتيجة التالية:
وعندما أقوم بكتابة :
أحصل على النتيجة التالية:
كنت أعتقد أن axis=1 تشير إلى الأعمدة، لذا ما الذي تعنيه axis عند إستعمال مصفوفة numpy مع pandas؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.