كيفية إضافة مجموعة 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
كيفية إعادة تسمية الأعمدة في الباندا

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *