الباندا: كيفية تقسيم عمود من القوائم إلى أعمدة متعددة
يمكنك استخدام بناء الجملة الأساسي التالي لتقسيم عمود من القوائم إلى أعمدة متعددة في pandas DataFrame:
#split column of lists into two new columns
split = pd. DataFrame (df[' my_column ']. to_list (), columns = [' new1 ',' new2 '])
#join split columns back to original DataFrame
df = pd. concat ([df, split], axis= 1 )
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: تقسيم عمود من القوائم إلى أعمدة متعددة في Pandas
لنفترض أن لدينا الباندا DataFrame التالية التي يحتوي فيها العمود المسمى بالنقاط على قوائم القيم:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Heat', 'Kings', 'Suns'], ' points ': [[99, 105], [94, 113], [99, 97], [87, 95]]}) #view DataFrame print (df) team points 0 Mavs [99, 105] 1 Heat [94, 113] 2 Kings [99, 97] 3 Suns [87, 95]
يمكننا استخدام الصيغة التالية لإنشاء DataFrame جديد حيث يتم تقسيم عمود النقاط إلى عمودين جديدين يسمى game1 و game2 :
#split column of lists into two new columns
split = pd. DataFrame (df[' my_column ']. to_list (), columns = [' new1 ',' new2 '])
#view DataFrame
print (split)
game1 game2
0 99 105
1 94 113
2 99 97
3 87 95
إذا أردنا، يمكننا بعد ذلك ربط DataFrame المقسم مع DataFrame الأصلي باستخدام الدالة concat() :
#join split columns back to original DataFrame
df = pd. concat ([df, split], axis= 1 )
#view updated DataFrame
print (df)
team points game1 game2
0 Mavs [99, 105] 99 105
1 Heat [94, 113] 94 113
2 Kings [99, 97] 99 97
3 Suns [87, 95] 87 95
أخيرًا، يمكننا إزالة عمود النقاط الأصلي من DataFrame إذا أردنا:
#drop original points column
df = df. drop (' points ', axis= 1 )
#view updated DataFrame
print (df)
team game1 game2
0 Mavs 99 105
1 Heat 94 113
2 Kings 99 97
3 Suns 87 95
والنتيجة النهائية هي DataFrame حيث يتم الآن تقسيم عمود النقاط الأصلي للقوائم إلى عمودين جديدين يسمى game1 و game2 .
ملحوظة : إذا كان عمود القوائم الخاص بك يحتوي على عدد فردي من القيم في كل قائمة، فسوف تقوم الباندا ببساطة بملء القيم المفقودة بقيم NaN عند تقسيم القوائم إلى أعمدة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية طباعة Pandas DataFrame بدون فهرس
كيفية عرض جميع الصفوف في Pandas DataFrame
كيفية التحقق من نوع جميع الأعمدة في Pandas DataFrame