हाय लोगों मैं सभी एसओ को देखेगा और गूगल और नहीं कर सकते इसी तरह कुछ भी है ...पांडा: dataframes
मैं एक dataframe एक्स (अनिवार्य रूप से एक पंक्ति और 300 स्तंभों से मिलकर) वाले अनेक शर्तों के साथ np.where और एक ही आकार के साथ एक और डेटाफ्रेम वाई लेकिन अलग डेटा। मैं एक्स को संशोधित करना चाहता हूं कि यह 0 है यदि यह वाई के लिए एक अलग संकेत है और एक्स स्वयं 0 नहीं है, और इसे छोड़ दें। इसलिए इसे कई स्थितियों के साथ np.where के उपयोग की आवश्यकता है। हालांकि कई हालत उदाहरणों में मैंने सभी उपयोग स्केलर्स को देखा है, और जब मैं एक ही वाक्यविन्यास का उपयोग करता हूं तो यह काम नहीं करता है (सेटिंग समाप्त होता है- सबकुछ- शून्य तक, कोई त्रुटि नहीं)। मैं कहीं भी या अन्य छिपाए गए असाइन-इन-रेफरेंस मुद्दों के बारे में चिंतित हूं (वाई स्थानांतरण के बाद एक्स है लेकिन जहां तक मैं कह सकता हूं कि इस कोड के ऊपर कोई अपस्ट्रीम समस्या नहीं है) कोई विचार?
कोड मैं डिबग करने के लिए कोशिश कर रहा हूँ है:
tradesmade[i:i+1] = np.where((sign(x) != sign(y)) & (sign(x) != 0), 0, x)
जो सिर्फ शून्य का एक समूह देता है। मैंने
tradesmade[i:i+1][(sign(x) != sign(y)) * (sign(x) != 0)] = 0
पर भी प्रयास किया है लेकिन यह ऐसा काम प्रतीत नहीं होता है। मैं इस पर घंटों तक रहा हूं और कुल नुकसान पर हूं। कृपया सहायता कीजिए!
आप एक श्रृंखला के बजाय एक पंक्ति, 300-कॉलम डेटाफ्रेम का उपयोग क्यों कर रहे हैं? – BrenBarn
हां हां मुझे उस प्रश्न का अनुमान लगाया जाना चाहिए। मैं वास्तव में उस डेटाफ्रेम की 3000 पंक्तियों के माध्यम से पुनरावृत्ति कर रहा हूं, हालांकि प्रत्येक गणना पूर्व पंक्तियों के परिणामों पर निर्भर करती है, इसलिए एक समय में एक पंक्ति जाना है। मैं वेक्टरिंग के महत्व और गति के बारे में जानता हूं लेकिन उस पर उत्तर प्राप्त करने से प्राथमिकता प्राप्त करता हूं (जो मुझे भी असफल लगता है ...) – swyx
खंड 'चिह्न (x)! = 0' अनावश्यक है। – acushner