الباندا: كيفية طرح اثنين من dataframes
يمكنك استخدام بناء الجملة التالي لطرح DataFrame واحد من الباندا من الآخر:
df1. subtract (df2)
إذا كان لديك عمود حرف في كل DataFrame، فقد تحتاج إلى نقله إلى عمود الفهرس لكل DataFrame أولاً:
df1. set_index (' char_column '). subtract ( df2.set_index (' char_column '))
توضح الأمثلة التالية كيفية استخدام كل بناء جملة عمليًا.
مثال 1: طرح إطاري بيانات Pandas (أعمدة رقمية فقط)
لنفترض أن لدينا إطاري البيانات الباندا التاليين اللذين يحتويان على أعمدة رقمية فقط:
import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' points ': [5, 17, 7, 19, 12, 13, 9, 24], ' assists ': [4, 7, 7, 6, 8, 7, 10, 11]}) print (df1) assist points 0 5 4 1 17 7 2 7 7 3 19 6 4 12 8 5 13 7 6 9 10 7 24 11 #create second DataFrame df2 = pd. DataFrame ({' points ': [4, 22, 10, 3, 7, 8, 12, 10], ' assists ': [3, 5, 5, 4, 7, 14, 9, 5]}) print (df2) assist points 0 4 3 1 22 5 2 10 5 3 3 4 4 7 7 5 8 14 6 12 9 7 10 5
يوضح الكود التالي كيفية طرح القيم المقابلة بين إطاري البيانات:
#subtract corresponding values between the two DataFrames
df1. subtract (df2)
assist points
0 1 1
1 -5 2
2 -3 2
3 16 2
4 5 1
5 5 -7
6 -3 1
7 14 6
المثال 2: طرح إطاري بيانات Pandas (خليط من أعمدة الأحرف والأرقام)
لنفترض أن لدينا اثنين من إطارات الباندا DataFrames التي تحتوي كل منها على عمود أحرف يسمى team :
import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [5, 17, 7, 19, 12, 13, 9, 24], ' assists ': [4, 7, 7, 6, 8, 7, 10, 11]}) print (df1) team points assists 0 to 5 4 1 B 17 7 2 C 7 7 3 D 19 6 4 E 12 8 5 F 13 7 6 G 9 10 7:24 a.m. 11 #create second DataFrame df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [4, 22, 10, 3, 7, 8, 12, 10], ' assists ': [3, 5, 5, 4, 7, 14, 9, 3]}) print (df2) team points assists 0 to 4 3 1 B 22 5 2 C 10 5 3 D 3 4 4 E 7 7 5 F 8 14 6 G 12 9 7:10 a.m. 3
يوضح الكود التالي كيفية نقل عمود الفريق إلى عمود الفهرس الخاص بكل DataFrame، ثم طرح القيم المقابلة بين إطاري DataFrame:
#move 'team' column to index of each DataFrame and subtract corresponding values
df1. set_index (' team '). subtract ( df2.set_index (' team '))
assist points
team
At 1 1
B-52
C -3 2
D 16 2
E 5 1
F 5 -7
G -3 1
H 14 8
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
الباندا: كيفية العثور على الفرق بين عمودين
الباندا: كيفية العثور على الفرق بين خطين
الباندا: كيفية طرح عمودين