الباندا: تحديث قيم الأعمدة بناءً على 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
كيفية إزالة الأعمدة المكررة في الباندا

Add a Comment

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