• 0

كيف أحدد عمود الفهرس index ورؤوس الأعمدة headers في Numpy و Pandas؟

عند إنشاء DataFrame  في مكتبة Pandas من خلال مصفوفة Numpy، كيف أحدد عمود الفهرس index ورؤوس الأعمدة headers؟

على سبيل المثال، لدي مصفوفة Numpy تتكون من قائمة من القوائم  list of lists، تمثل مصفوفة ثنائية الأبعاد مع تسميات الصفوف وأسماء الأعمدة كما هو موضح أدناه:

 

data = np.array([
  ['', 'Col1', 'Col2'], 
  ['Row1', 1, 2], 
  ['Row2', 3, 4]
])

أرغب في أن يحتوي DataFrame الناتج على Row1 و Row2 كقيم الفهرس ، و Col1 و Col2 كقيم رؤوس الأعمدة headers

كيف يمكنني جعل النتيجة تصبح بهذا الشكل؟

     Col1 Col2
Row1    1    2
Row2    3    4

 

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

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


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

بالشكل التالي:

pd.DataFrame(data=data[1:,1:],    # القيم
              index=data[1:,0],    # العمودالأول كفهرس
              columns=data[0,1:])  # الصف الأول كأسماء الأعمدة

حيث تحتاج إلى تحديد ال data والفهرس والأعمدة إلى باني ال dataframe:

import numpy as np
data = np.array([
  ['', 'Col1', 'Col2'], 
  ['Row1', 1, 2], 
  ['Row2', 3, 4]
])
import pandas as pd
pd.DataFrame(data=data[1:,1:],    # القيم
              index=data[1:,0],    # العمودالأول كفهرس
              columns=data[0,1:])  # الصف الأول كأسماء للأعمدة
"""
 	Col1 	Col2
Row1 	1 	2
Row2 	3 	4
"""

حيث أن:

data[1:,1:]
"""
array([['1', '2'],
       ['3', '4']], dtype='<U4')
"""
data[1:,0]
"""
array(['Row1', 'Row2'], dtype='<U4')
"""
data[0,1:]
"""
array(['Col1', 'Col2'], dtype='<U4')
"""

ويمكنك أيضاً أن تقوم بتغيير نمط البيانات الخاص بالقيم إذا أردت بالشكل:

import numpy as np
data = np.array([
  ['', 'Col1', 'Col2'], 
  ['Row1', 1, 2], 
  ['Row2', 3, 4]
])
import pandas as pd
pd.DataFrame(data=np.int_(data[1:,1:]),    # القيم
              index=data[1:,0],    # العمودالأول كفهرس
              columns=data[0,1:])  # الصف الأول كأسماء الأعمدة
"""
 	Col1 	Col2
Row1 	1 	2
Row2 	3 	4
"""

 

تمّ تعديل بواسطة Ali Haidar Ahmad
1 شخص أعجب بهذا

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


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

عند إنشاء DataFrame من مصفوفة تحتاج لتحديد ال data و ال index و ال columns كالتالي

 pd.DataFrame(data=data[1:,1:],    # القيم
              index=data[1:,0],    # العمود الأول 
              columns=data[0,1:])  # الصف الأول

ولكن ستلاحظ أن المصفوفة تحتوي على بيانات من نوع string ونوع integer لذلك تقوم numpy بتوحيد الأنواع ل string ونحن لا نريد ذلك وسنحول الأرقام ل integer مرة أخرى كالتالي 

بدلاً من 

data[1:,1:]

نستخدم 

np.int_(data[1:,1:])

 

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


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

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

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

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


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

تسجيل الدخول

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


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