"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يحدث `settwithcopyWarning` عند تعديل إطارات البيانات المستمدة من مجموعات فرعية؟

لماذا يحدث `settwithcopyWarning` عند تعديل إطارات البيانات المستمدة من مجموعات فرعية؟

نشر في 2025-02-21
تصفح:856

Why Does `SettingWithCopyWarning` Occur When Modifying DataFrames Derived from Subsets?

لا يزال. تنبع هذه المشكلة من الوصول إلى شريحة DataFrame من إطار بيانات آخر دون استدعاء طريقة .copy ().

استيراد الباندا كـ PD d = {'col1': [1 ، 2 ، 3 ، 4] ، 'col2': [3 ، 4 ، 5 ، 6]} df = pd.dataFrame (البيانات = D) df ['new_column'] = لا شيء df.loc [0 ، 'new_column'] = 100

في البداية ، لا توجد تحذيرات. ومع ذلك ، فإن إنشاء ملف بيانات جديد يعتمد على مجموعة فرعية من df: new_df = df.loc [df.col1> 2]

ثم محاولة تعديل بيانات البيانات الجديدة باستخدام .loc:

التحذير. نظام بيانات جديد يعتمد على مجموعة فرعية من بيانات البيانات الموجودة.
import pandas as pd

d = {'col1': [1, 2, 3, 4], 'col2': [3, 4, 5, 6]}
df = pd.DataFrame(data=d)

df['new_column'] = None
df.loc[0, 'new_column'] = 100
new_df_copy = df.loc [df.col1> 2] .copy () new_df_copy.loc [2 ، 'new_column'] = 100

عن طريق استدعاء .copy () ، يمكنك إنشاء نسخة مستقلة من المجموعة الفرعية ، وتجنب التحذير عند تعديل القيم.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3