ऐसा लगता है कि मैं जिस डेटा स्रोत (एपीआई) से खींच रहा हूं, उसमें एक अजीब '-' प्रतीक है जो तब पहचाना नहीं जाता जब मैं str.replace करता हूं। यहां वह कोड और लाइब्रेरी है जिसका मैंने उपयोग किया था। pd.to_numeric पर त्रुटि होती है। फ्लोट के रूप में कास्टिंग स्थिति के बिना एक ही त्रुटि देता है।
Y = xy['QPerf'].str.rstrip('%')
Y = Y.str.replace('-', '-')
Y = pd.to_numeric(Y)
Y = Y.apply(lambda x: 1 if x > 0 else 0)
print(Y)
मैंने str.encode('UTF-8').str.decode('UTF-8')
की कोशिश की है लेकिन आश्चर्यजनक रूप से यह काम नहीं करता है।
इस पर प्रयास करने के लिए अपना स्वयं का डेटा प्राप्त करने के लिए लाइब्रेरी कोड यहां दिया गया है।
from finvizfinance.quote import finvizfinance
from finvizfinance.screener.overview import Overview
stock = finvizfinance('TSLA')
stock_fundament = stock.TickerFundament()
qperf = stock_fundament['Perf Quarter']
यह एक डेटाफ्रेम लौटाएगा।
1 उत्तर
आप हमेशा त्रुटियों को अनदेखा कर सकते हैं और errors='coerce'
पैरामीटर। शायद यही -
का मतलब भी है, यह कोई संख्या नहीं है, यह लापता डेटा का प्रतिनिधित्व कर रहा है।
Y = pd.to_numeric(xy['QPer'].str.rstrip('%'), errors='coerce')
यह किसी भी अन्य त्रुटियों को अनदेखा करने का नकारात्मक पक्ष है, और हो सकता है कि आप उन स्वरूपण त्रुटियों को याद कर सकें जिनके बारे में आप जानना चाहते हैं।
यदि आप एक csv फ़ाइल से पढ़ रहे थे, तो आप na_values
का उपयोग यह निर्दिष्ट करने के लिए कर सकते हैं कि -
का मतलब NaN
s है। इस संदर्भ में हम उपयोग कर सकते हैं .mask()
-
को NaN
s से बदलने के लिए, और फिर to_numeric
का उपयोग करें:
Y = pd.to_numeric(xy['QPer'].str.rstrip('%').mask(xy['QPer'] == '-'))
xy = xy.loc[xy['QPerf'] != '-']
का उपयोग किया है। आपके उत्तर और आपके द्वारा कवर किए गए अतिरिक्त मामलों के लिए धन्यवाद।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।
print(repr(value))
ताकि हम इसे भी देख सकें। आप चरित्र को अलग भी कर सकते हैं और यह देखने के लिएord(the_character)
कर सकते हैं कि यह 45 (ascii डैश) है या कुछ और।