पंडों में कैसे ठीक करें: स्ट्रिंग को फ़्लोट में परिवर्तित नहीं किया जा सकता
पांडा का उपयोग करते समय आपके सामने आने वाली एक सामान्य त्रुटि यह है:
ValueError : could not convert string to float: '$400.42'
यह त्रुटि आम तौर पर तब होती है जब आप किसी स्ट्रिंग को पांडा में फ़्लोट करने के लिए कनवर्ट करने का प्रयास करते हैं, जब स्ट्रिंग में निम्न में से एक या अधिक होते हैं:
- रिक्त स्थान
- अल्पविराम
- विशेष वर्ण
जब ऐसा होता है, तो आपको इसे फ़्लोट में बदलने से पहले इन वर्णों को स्ट्रिंग से हटाना होगा।
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस त्रुटि को कैसे हल किया जाए।
त्रुटि को पुन: उत्पन्न कैसे करें
मान लीजिए हमारे पास निम्नलिखित पांडा डेटाफ़्रेम हैं:
import pandas as pd #createDataFrame df = pd. DataFrame ({' store ': ['A', 'B', 'C', 'D'], ' revenue ': ['$400.42', '$100.18', '$243.75', '$194.22']}) #view DataFrame print (df) store revenue 0 A $400.42 1 B $100.18 2 C $243.75 3D $194.22 #view data type of each column print ( df.dtypes ) store object revenue object dtype:object
अब मान लीजिए कि हम राजस्व कॉलम को एक स्ट्रिंग से फ्लोट में बदलने की कोशिश कर रहे हैं:
#attempt to convert 'revenue' from string to float
df[' revenue '] = df[' revenue ']. astype (float)
ValueError : could not convert string to float: '$400.42'
हमें एक त्रुटि प्राप्त हो रही है क्योंकि आय कॉलम में स्ट्रिंग्स में एक डॉलर चिह्न है।
त्रुटि को कैसे ठीक करें
इस त्रुटि को हल करने का तरीका यह है कि रूपांतरण करने से पहले आय कॉलम में डॉलर चिह्नों को कुछ भी नहीं के साथ बदलने के लिए रिप्लेस() फ़ंक्शन का उपयोग करें:
#convert revenue column to float
df[' revenue '] = df[' revenue ']. apply ( lambda x: float(x. split ()[ 0 ]. replace (' $ ', '')))
#view updated DataFrame
print (df)
store revenue
0 to 400.42
1 B 100.18
2 C 243.75
3 D 194.22
#view data type of each column
print ( df.dtypes )
store object
income float64
dtype:object
ध्यान दें कि हम राजस्व कॉलम को एक स्ट्रिंग से फ्लोट में परिवर्तित करने में सक्षम हैं और रूपांतरण करने से पहले हमने डॉलर चिह्न हटा दिए हैं, इसलिए हमें कोई त्रुटि नहीं मिल रही है।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य त्रुटियों को कैसे ठीक किया जाए:
पायथन में कैसे ठीक करें: ऑब्जेक्ट ‘numpy.ndarray’ कॉल करने योग्य नहीं है
कैसे ठीक करें: लेखन त्रुटि: ऑब्जेक्ट ‘numpy.float64’ कॉल करने योग्य नहीं है
कैसे ठीक करें: प्रकार त्रुटि: अपेक्षित स्ट्रिंग या बाइट्स ऑब्जेक्ट