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

هل يمكن تحويل إطار بيانات من مكتبة pandas الى مصفوفة numpy؟ بلغة البرمجة بايثون

Maram Jouriah

السؤال

هل يمكنني الحصول على مصفوفة من أطار بيانات 

لنفرض لدي الكود الاتي:

import numpy as np
import pandas as pd

index = [1, 2, 3, 4, 5, 6, 7]
a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1]
b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan]
c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan]
df = pd.DataFrame({'A': a, 'B': b, 'C': c}, index=index)
df = df.rename_axis('ID')

يظهر الخرج

label   A    B    C
ID                                 
1   NaN  0.2  NaN
2   NaN  NaN  0.5
3   NaN  0.2  0.5
4   0.1  0.2  NaN
5   0.1  0.2  0.5
6   0.1  NaN  0.5
7   0.1  NaN  NaN

ارغب بالحصول على هذا الخرج , هل يمكنني ذلك؟ما هي التعليمة التي تمكنني من ذلك؟

array([[ nan,  0.2,  nan],
       [ nan,  nan,  0.5],
       [ nan,  0.2,  0.5],
       [ 0.1,  0.2,  nan],
       [ 0.1,  0.2,  0.5],
       [ 0.1,  nan,  0.5],
       [ 0.1,  nan,  nan]])

 

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

Recommended Posts

  • 1

لتحويل pandas dataframe لِ numpy, يمكنك استخدام df.values في الكود الخاص بك.

يمكنك استخدام الكود التالي ليظهر الخرج كما تريد 

import numpy as np

import pandas as pd

index = [1, 2, 3, 4, 5, 6, 7]

a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1]

b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan]

c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan]

df = pd.DataFrame({'A': a, 'B': b, 'C': c}, index=index)

df = df.rename_axis('ID').values

print(df)

وهذه صورة مرفقة من الخرج الذي ظهر لي عند تنفيذ الكود إعلاه.

1010.PNG

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

  • 0

يمكن تحقيق ذلك بعدة طرق إضافية: 
 

# تعريف اطار البيانات
df = pd.DataFrame(data={'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, 
                  index=['a', 'b', 'c'])
# تحويل اطار البيانات
df.to_numpy()
# تحويل عمود محدد
df[['A', 'C']].to_numpy()

او طريقة أخرى: 
 

df.index.to_numpy()

df['A'].to_numpy()

 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...