كيفية تكديس إطارات بيانات pandas المتعددة


في كثير من الأحيان قد ترغب في تكديس اثنين أو أكثر من DataFrames الباندا. لحسن الحظ، من السهل القيام بذلك باستخدام الدالة pandas concat() .

يوضح هذا البرنامج التعليمي عدة أمثلة لكيفية القيام بذلك.

مثال 1: قم بتكديس إطاري بيانات Pandas

يوضح التعليمة البرمجية التالية كيفية “تكديس” اثنين من إطارات بيانات الباندا فوق بعضها البعض وإنشاء DataFrame:

 import pandas as pd

#create two DataFrames
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                    'points':[12, 5, 13, 17, 27]})

df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
                    'points':[24, 26, 27, 27, 12]})

#"stack" the two DataFrames together
df3 = pd. concat ([df1,df2], ignore_index= True )

#view resulting DataFrame
df3

	player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7:27 a.m.
8 I 27
9 D 12

مثال 2: قم بتكديس ثلاثة إطارات بيانات Pandas

يمكن استخدام تعليمات برمجية مماثلة لتكديس ثلاثة إطارات بيانات الباندا فوق بعضها البعض لإنشاء DataFrame:

 import pandas as pd

#create three DataFrames
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                    'points':[12, 5, 13, 17, 27]})

df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
                    'points':[24, 26, 27, 27, 12]})

df3 = pd.DataFrame({'player': ['K', 'L', 'M', 'N', 'O'],
                    'points':[9, 5, 5, 13, 17]})

#"stack" the two DataFrames together
df4 = pd. concat ([df1,df2, df3], ignore_index= True )

#view resulting DataFrame
df4

        player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7:27 a.m.
8 I 27
9 D 12
10K 9
11 L 5
12 M 5
13 N 13
14 O 17

أهمية تجاهل_index

لاحظ أننا استخدمنا في الأمثلة السابقة تجاهل_index=True .

يخبر هذا الباندا بتجاهل أرقام الفهرس في كل DataFrame وإنشاء فهرس جديد يتراوح من 0 إلى n-1 لـ DataFrame الجديد.

على سبيل المثال، ضع في اعتبارك ما يحدث عندما لا نستخدم ignore_index=True عند تجميع إطاري البيانات التاليين:

 import pandas as pd

#create two DataFrames with indices
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                    'points':[12, 5, 13, 17, 27]},
                    index=[0, 1, 2, 3, 4])

df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
                    'points':[24, 26, 27, 27, 12]},
                    index=[2, 4, 5, 6, 9])

#stack the two DataFrames together
df3 = pd. concat ([df1,df2])

#view resulting DataFrame
df3

        player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
2 F 24
4G 26
5:27 a.m.
6 I 27
9 D 12

احتفظ DataFrame الناتج بقيم الفهرس الأصلية من كلا DataFrames.

لذلك يجب عليك بشكل عام استخدام ignign_index=True عند تكديس إطاري DataFrames ما لم يكن لديك سبب محدد للاحتفاظ بقيم الفهرس الأصلية.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في Pandas:

كيفية إضافة عمود فارغ إلى Pandas DataFrame
كيفية إدراج عمود في Pandas DataFrame
كيفية تصدير Pandas DataFrame إلى Excel

Add a Comment

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