كيفية نسخ الصفوف في pandas dataframe
يمكنك استخدام بناء الجملة الأساسي التالي لتكرار كل صف من الباندا DataFrame عدة مرات:
#replicate each row 3 times df_new = pd. DataFrame ( np.repeat ( df.values , 3 ,axis= 0 ))
يحدد الرقم الموجود في الوسيطة الثانية للدالة تكرار NumPy () عدد المرات التي سيتم فيها نسخ كل سطر.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: تكرار الصفوف في Pandas DataFrame
لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على معلومات حول مختلف لاعبي كرة السلة:
import pandas as pd #create dataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'], ' points ': [18, 20, 19, 14, 14, 11], ' assists ': [5, 7, 7, 9, 12, 5], ' rebounds ': [11, 8, 10, 6, 6, 5]}) #view DataFrame print (df) team points assists rebounds 0 A 18 5 11 1 B 20 7 8 2 C 19 7 10 3 D 14 9 6 4 E 14 12 6 5 F 11 5 5
يمكننا استخدام بناء الجملة التالي لتكرار كل صف من DataFrame ثلاث مرات:
import numpy as np #define new DataFrame as original DataFrame with each row repeated 3 times df_new = pd. DataFrame ( np.repeat ( df.values , 3 ,axis= 0 )) #assign column names of original DataFrame to new DataFrame df_new. columns = df. columns #view new DataFrame print (df_new) team points assists rebounds 0 A 18 5 11 1 A 18 5 11 2 A 18 5 11 3 B 20 7 8 4 B 20 7 8 5 B 20 7 8 6 C 19 7 10 7 C 19 7 10 8 C 19 7 10 9 D 14 9 6 10 D 14 9 6 11 D 14 9 6 12 E 14 12 6 13 E 14 12 6 14 E 14 12 6 15 F 11 5 5 16 F 11 5 5 17 F 11 5 5
يحتوي DataFrame الجديد على كل صف من صفوف DataFrame الأصلية، والتي يتم نسخها ثلاث مرات لكل منها.
لاحظ أنه تم أيضًا إعادة تعيين قيم الفهرس.
تتراوح قيم الفهرس الآن من 0 إلى 17.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة NumPy Repeat() هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
الباندا: كيفية العثور على الفرق بين عمودين
الباندا: كيفية العثور على الفرق بين خطين
الباندا: كيفية فرز الأعمدة حسب الاسم