"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सबसेट से प्राप्त डेटाफ्रेम को संशोधित करते समय `settingwithcopywarning` क्यों होता है?

सबसेट से प्राप्त डेटाफ्रेम को संशोधित करते समय `settingwithcopywarning` क्यों होता है?

2025-02-21 को पोस्ट किया गया
ब्राउज़ करें:946

] बनी रहती है। यह समस्या .copy () विधि को लागू किए बिना किसी अन्य DataFrame से DataFrame स्लाइस तक पहुँचने से उपजा है।

Why Does `SettingWithCopyWarning` Occur When Modifying DataFrames Derived from Subsets? 
पीडी के रूप में आयात पंडों 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 के एक सबसेट के आधार पर एक नया DataFrame बनाना:

new_df = df.loc [df.col1> 2]

और फिर नए डेटाफ्रेम को संशोधित करने का प्रयास करना। &&&] चेतावनी।

समाधान: एक उपसमूह से प्राप्त डेटा फ्रेम के लिए .copy () का उपयोग करना

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
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
को आमंत्रित करके।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3