الباندا: تحديث قيم الأعمدة بناءً على dataframe آخر
في كثير من الأحيان قد ترغب في تحديث قيم عمود الباندا DataFrame باستخدام قيم DataFrame آخر.
لحسن الحظ، من السهل القيام بذلك باستخدام الدالة merge() في الباندا.
يوضح المثال التالي كيفية القيام بذلك.
مثال: تحديث قيم الأعمدة في Pandas DataFrame بناءً على DataFrame آخر
لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على معلومات حول مختلف لاعبي كرة السلة:
import pandas as pd #createDataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [0, 0, 0, 1, 0, 0, 0, 1]}) #view DataFrame print (df1) team points assists 0 to 18 0 1 B 22 0 2 C 19 0 3 D 14 1 4 E 14 0 5 F 11 0 6 G 20 0 7:28 a.m. 1
افترض الآن أن قيم العمود المساعد لم يتم تحديثها في DataFrame هذا.
ومع ذلك، لنفترض أن لدينا DataFrame الثاني التالي الذي قام بتحديث قيم العمود المساعد :
#create second DataFrame df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [8, 7, 7, 4, 9, 12, 3, 5]}) #view second DataFrame print (df2) team points assists 0 to 18 8 1 B 22 7 2 C 19 7 3 D 14 4 4 E 14 9 5 F 11 12 6 G 20 3 7:28 5
يمكننا استخدام الصيغة التالية لتحديث قيم العمود المساعد لـ DataFrame الأول باستخدام قيم العمود المساعد لـ DataFrame الثاني:
#merge two DataFrames
df1 = df1. merge (df2, on=' team ', how=' left ')
#drop original DataFrame columns
df1. drop ([' points_x ', ' assists_x '], inplace= True , axis= 1 )
#rename columns
df1. rename (columns={' points_y ': ' points ', ' assists_y ': ' assists '}, inplace= True )
#view updated DataFrame
print (df1)
team points assists
0 to 18 8
1 B 22 7
2 C 19 7
3 D 14 4
4 E 14 9
5 F 11 12
6 G 20 3
7:28 5
لاحظ أنه تم تحديث قيم العمود المساعد من DataFrame الأول باستخدام قيم العمود المساعد من DataFrame الثاني.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
كيفية إزالة الصف الأول في Pandas DataFrame
كيفية إزالة العمود الأول في Pandas DataFrame
كيفية إزالة الأعمدة المكررة في الباندا