الباندا: كيفية إعادة تشكيل dataframe من الطويل إلى الواسع


يمكنك استخدام بناء الجملة الأساسي التالي لتحويل Pandas DataFrame من تنسيق طويل إلى تنسيق واسع:

 df = pd. pivot (df, index=' col1 ', columns=' col2 ', values=' col3 ')

في هذا السيناريو، سيصبح col1 هو الفهرس، وسيصبح col2 هو الأعمدة وسيتم استخدام col3 كقيم داخل DataFrame.

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: إعادة تشكيل إطار بيانات Pandas من الطويل إلى الواسع

لنفترض أن لدينا DataFrame الباندا التالية بتنسيق طويل:

 import pandas as pd

#create DataFrame in long format
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' player ': [1, 2, 3, 4, 1, 2, 3, 4],
                   ' points ': [11, 8, 10, 6, 12, 5, 9, 4]})

#view DataFrame
df

	team player points
0 to 1 11
1 to 2 8
2 to 3 10
3 to 4 6
4 B 1 12
5 B 2 5
6 B 3 9
7 B 4 4

يمكننا استخدام بناء الجملة التالي لإعادة تشكيل DataFrame من التنسيق الطويل إلى التنسيق الواسع:

 #reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' team ', columns=' player ', values=' points ')

#view updated DataFrame
df

player 1 2 3 4
team				
A 11 8 10 6
B 12 5 9 4

أصبح DataFrame الآن بتنسيق واسع.

استخدمنا “الفريق” كعمود الفهرس، و”اللاعب” كأعمدة، و”النقاط” كقيم داخل DataFrame.

لاحظ أنه يمكننا بدلاً من ذلك استخدام “لاعب” كعمود فهرس و”فريق” كأعمدة إذا أردنا ذلك:

 #reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' player ', columns=' team ', values=' points ')

#view updated DataFrame
df

team A B
player		
1 11 12
2 8 5
3 10 9
4 6 4

DataFrame هذا أيضًا بتنسيق واسع.

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة pandas Pivot() هنا .

مصادر إضافية

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

الباندا: كيفية إعادة تشكيل DataFrame من العرض إلى الطول
كيفية إضافة صفوف إلى Pandas DataFrame
كيفية إضافة أعمدة إلى Pandas DataFrame
كيفية حساب تكرارات قيم محددة في Pandas DataFrame

Add a Comment

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