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

السؤال

نشر

لدي كود كالتالي:

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؟

Recommended Posts

  • 0
نشر

يمكن شرح ال axis سواء كان 1 أو 0 ببساطة كالتالي

  • في حالة أن ال Axis = 0  وفي حالة الدالة mean سيقوم البرنامج بالعمل على أو حساب المتوسط من خلال العناصر  الموجودة في جميع الصفوف في كل عمود
  • بينما في حالة أن ال Axis = 1 (وبالطبع في الدالة mean) سيقوم البرنامج بحساب المتوسط من خلال العناصر  الموجودة في جميع الأعمدة في كل صف

والصورة التالية توضع الشرح السابق

waS00.thumb.jpg.ddf1003702c20ff7353394ad8e1c1359.jpg

  • 1
نشر

أولاً أحب أن ألفت الانتباه إلى أن الأمر غير مرتبط ب 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.])

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...