في معالجة بيانات Pandas، يمكن أن تكون إضافة عدة أعمدة جديدة بكفاءة إلى DataFrame مهمة تتطلب حلاً أنيقًا. في حين أن النهج البديهي لاستخدام بناء جملة قائمة الأعمدة مع علامة يساوي قد يبدو واضحا، فإنه يمكن أن يؤدي إلى نتائج غير متوقعة.
كما هو موضح في المثال المقدم، بناء الجملة التالي فشل في إنشاء الأعمدة الجديدة على النحو المنشود:
df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]
وهذا لأن Pandas يتطلب أن يكون الجانب الأيمن من المهمة DataFrame عند استخدام بناء جملة قائمة الأعمدة. القيم العددية أو القوائم غير متوافقة مع هذا النهج.
توفر العديد من الطرق البديلة حلولاً قابلة للتطبيق لإضافة أعمدة متعددة في وقت واحد:
الطريقة الأولى: التعيينات الفردية باستخدام Iterator Unpacking
df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3
الطريقة الثانية: توسيع صف واحد لمطابقة الفهرس
df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)
الطريقة الثالثة: الدمج مع إطار البيانات المؤقت باستخدام pd.concat
df = pd.concat(
[
df,
pd.DataFrame(
[[np.nan, 'dogs', 3]],
index=df.index,
columns=['column_new_1', 'column_new_2', 'column_new_3']
)
], axis=1
)
الطريقة الرابعة: الدمج مع إطار البيانات المؤقت باستخدام .join
df = df.join(pd.DataFrame(
[[np.nan, 'dogs', 3]],
index=df.index,
columns=['column_new_1', 'column_new_2', 'column_new_3']
))
الطريقة الخامسة: استخدام القاموس لإطار البيانات المؤقت
df = df.join(pd.DataFrame(
{
'column_new_1': np.nan,
'column_new_2': 'dogs',
'column_new_3': 3
}, index=df.index
))
الطريقة السادسة: استخدم .assistant() مع وسيطات الأعمدة المتعددة
df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)
الطريقة السابعة: إنشاء الأعمدة، ثم تعيين القيم
new_cols = ['column_new_1', 'column_new_2', 'column_new_3']
new_vals = [np.nan, 'dogs', 3]
df = df.reindex(columns=df.columns.tolist() new_cols) # add empty cols
df[new_cols] = new_vals # multi-column assignment works for existing cols
الطريقة 8: التعيينات المتسلسلة المتعددةdf['column_new_1'] = np .نان df['column_new_2'] = 'كلاب' df['column_new_3'] = 3
يعتمد اختيار الطريقة الأكثر ملاءمة على عوامل مثل حجم DataFrame، وعدد الأعمدة الجديدة التي سيتم إضافتها، ومتطلبات أداء المهمة. ومع ذلك، فإن هذه التقنيات تمكن مستخدمي Pandas من خيارات متنوعة لإضافة أعمدة متعددة بكفاءة إلى DataFrames الخاصة بهم.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3