كيفية إضافة مجموعة numpy إلى pandas dataframe
في بعض الأحيان قد ترغب في إضافة مصفوفة NumPy كعمود جديد إلى pandas DataFrame.
لحسن الحظ، يمكنك القيام بذلك بسهولة باستخدام بناء الجملة التالي:
df[' new_column '] = array_name. tolist ()
يوضح هذا البرنامج التعليمي بعض الأمثلة على الاستخدام العملي لهذه الجملة.
المثال 1: إضافة مصفوفة NumPy كعمود جديد في DataFrame
يوضح التعليمة البرمجية التالية كيفية إنشاء Pandas DataFrame للاحتفاظ ببعض إحصائيات لاعب كرة السلة وإضافة مصفوفة NumPy كعمود جديد يسمى “كتل”:
import numpy as np import pandas as pd #create pandas DataFrame df = pd.DataFrame({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #create NumPy array for 'blocks' blocks = np. array ([2, 3, 1, 0, 2, 7, 8, 2]) #add 'blocks' array as new column in DataFrame df[' blocks '] = blocks. tolist () #display the DataFrame print(df) points assists rebounds blocks 0 25 5 11 2 1 12 7 8 3 2 15 7 10 1 3 14 9 6 0 4 19 12 6 2 5 23 9 5 7 6 25 9 9 8 7 29 4 12 2
لاحظ أن DataFrame الجديد يحتوي الآن على عمود إضافي بعنوان Blocks .
مثال 2: إضافة NumPy Matrix كأعمدة جديدة في DataFrame
يوضح التعليمة البرمجية التالية كيفية إنشاء Pandas DataFrame للاحتفاظ ببعض إحصائيات لاعب كرة السلة وإضافة مصفوفة NumPy كعمود جديد يسمى “كتل”:
import numpy as np import pandas as pd #create pandas DataFrame df = pd.DataFrame({' points ': [25, 12, 15, 14, 19, 23 #create NumPy matrix mat = np.matrix([[2, 3], [1, 0], [2, 7], [8, 2], [3, 4], [7, 7], [7, 5], [6, 3]]) #add NumPy matrix as new columns in DataFrame df_new = pd. concat ([df, pd.DataFrame(mat)], axis= 1 ) #display new DataFrame print(df_new) points assists rebounds 0 1 0 25 5 11 2 3 1 12 7 8 1 0 2 15 7 10 2 7 3 14 9 6 8 2 4 19 12 6 3 4 5 23 9 5 7 7 6 25 9 9 7 5 7 29 4 12 6 3
لاحظ أن أسماء أعمدة المصفوفة التي أضفناها إلى DataFrame تُعطى أسماء الأعمدة الافتراضية 0 و 1 .
يمكننا بسهولة إعادة تسمية هذه الأعمدة باستخدام الدالة df.columns :
#rename columns
df_new. columns = ['pts', 'ast', 'rebs', 'new1', 'new2']
#display DataFrame
print(df_new)
pts ast rebs new1 new2
0 25 5 11 2 3
1 12 7 8 1 0
2 15 7 10 2 7
3 14 9 6 8 2
4 19 12 6 3 4
5 23 9 5 7 7
6 25 9 9 7 5
7 29 4 12 6 3
مصادر إضافية
كيفية تكديس إطارات بيانات Pandas المتعددة
كيفية دمج اثنين من إطارات بيانات Pandas في ملف Index
كيفية تحويل Pandas DataFrame إلى مجموعة NumPy
كيفية إعادة تسمية الأعمدة في الباندا