दिलचस्प पोस्ट
पीडीएफबॉक्स प्रतीक मुद्रा यूरो को सांकेतिक शब्दों में बदलना imagemagick के लिए क्यों फ़ॉन्ट सूची खाली है? लिनक्स सेवा / डेमन के रूप में पायथन स्क्रिप्ट एसवीएन में अभिगम नियंत्रण कैसे सेटअप करें? मैं कैसे जांच सकता हूं कि क्या किसी पर्ल एरे में कोई विशेष मान है? मैं दो कमानों को एक में कैसे मिला सकता हूं? पाठ क्षेत्र में चयन के प्रारंभ और समाप्ति अंक कैसे प्राप्त करें? जावास्क्रिप्ट और सीएसएस के साथ फीड-इन और फीड-आउट कैसे करें मार्की सेट स्पीड मैं क्या करता है = (i, ++ i, 1) + 1; कर? एंड्रॉइड में एक गतिविधि शुरू करने से पहले प्रगति संवाद कैसे प्रदर्शित करें? ओवरराइड करना बनाम विधि छुपा चयनित रेडियो बटन का मूल्य कैसे प्राप्त करें? m2e जीवनचक्र-मैपिंग नहीं मिला सी फ़ंक्शन पॉइंटर शून्य पॉइंटर को कास्टिंग करना

पांडा: श्रृंखलन कार्य

मैं "एक प्रतिलिपि बनाम एक दृश्य वापसी" पर इस लिंक को पढ़ रहा हूं। मुझे वास्तव में नहीं मिलता है कि पंडों में .ix() काम करने की अवधारणा कैसे काम करती है और किस प्रकार .ix() , .iloc() , या .loc() पड़ता है

मुझे SettingWithCopyWarning की निम्नलिखित पंक्तियों के लिए SettingWithCopyWarning चेतावनियां SettingWithCopyWarning , जहां data पांडा SettingWithCopyWarning और उस SettingWithCopyWarning amount एक स्तंभ (सीरीज) नाम है:

 data['amount'] = data['amount'].astype(float) data["amount"].fillna(data.groupby("num")["amount"].transform("mean"), inplace=True) data["amount"].fillna(mean_avg, inplace=True) 

इस कोड को देखते हुए, क्या यह स्पष्ट है कि मैं उपपत्तनिक कुछ कर रहा हूं? यदि हां, तो क्या आप मुझे प्रतिस्थापन कोड पंक्तियां बता सकते हैं?

मैं नीचे की चेतावनी के बारे में जानता हूं और मुझे लगता है कि मेरे मामले में चेतावनी झूठी सकारात्मक हैं:

संक्रमित आवंटन चेतावनियां / अपवाद उपयोगकर्ताओं को संभवतः अवैध असाइनमेंट के बारे में सूचित करने के लिए लक्ष्य कर रहे हैं। झूठी सकारात्मक हो सकती है; परिस्थितियों में जहां एक जंजीर कार्य अनजाने में सूचना दी जाती है

संपादित करें: पहली प्रति चेतावनी त्रुटि चेतावनी त्रुटि के लिए कोड।

 data['amount'] = data.apply(lambda row: function1(row,date,qty), axis=1) data['amount'] = data['amount'].astype(float) def function1(row,date,qty): try: if(row['currency'] == 'A'): result = row[qty] else: rate = lookup[lookup['Date']==row[date]][row['currency'] ] result = float(rate) * float(row[qty]) return result except ValueError: # generic exception clause print "The current row causes an exception:" 

वेब के समाधान से एकत्रित समाधान "पांडा: श्रृंखलन कार्य"

SettingWithCopy का बिंदु उपयोगकर्ता को चेतावनी देना है कि आप कुछ ऐसा कर सकते हैं जो मूल डेटा फ़्रेम को अपडेट न करें जैसा कि उम्मीद हो सकता है

यहां, data एक डेटाफ़्रेम है, संभवतः एक एकल dtype (या नहीं) की। फिर आप इस data['amount'] एक संदर्भ ले रहे हैं जो एक श्रृंखला है, और इसे अपडेट कर रहा है। यह संभवत: आपके मामले में काम करता है क्योंकि आप मौजूद डेटा के समान डीटीपी को वापस कर रहे हैं।

हालांकि यह एक प्रति बना सकता है जो data['amount'] की एक प्रति data['amount'] अपडेट करता है जिसे आप नहीं देखेंगे; तो आप सोच रहे होंगे कि यह अपडेट क्यों नहीं कर रहा है।

पांडा लगभग सभी विधि कॉलों में एक ऑब्जेक्ट की एक प्रति देता है। इन-ऑपरेशंस एक कैरियर ऑपरेशन हैं जो काम करते हैं, लेकिन सामान्य तौर पर यह साफ नहीं है कि डेटा संशोधित किया जा रहा है और संभवतः प्रतियों पर काम कर सकता है।

ऐसा करने के लिए अधिक स्पष्ट:

 data['amount'] = data["amount"].fillna(data.groupby("num")["amount"].transform("mean")) data["amount"] = data['amount'].fillna(mean_avg) 

प्रतियों पर काम करने के अलावा एक और प्लस आप चेन ऑपरेशन कर सकते हैं, inplace वाले के साथ यह संभव नहीं है।

जैसे

 data['amount'] = data['amount'].fillna(mean_avg)*2 

और सिर्फ एक एफवाईआई inplace ऑपरेशंस न तो तेजी से और अधिक मेमोरी कुशल हैं my2c पर प्रतिबंध लगा दिया जाना चाहिए। लेकिन उस एपीआई पर बहुत देर हो चुकी है

आप इसे बंद कर सकते हैं:

 pd.set_option('chained_assignment',None) 

पांडा इस सेट के साथ पूरे परीक्षण सूट के साथ चलाता है (एफआईआई) पर बढ़ने के raise (हम जानते हैं कि चेनिंग हो रहा है या नहीं)