मेरे पास एक DataFrame है जिसमें हजारों मार्करों के लिए कॉमा के साथ संख्याएं हैं। मुझे उन्हें फ्लोट में बदलने की जरूरत है।
a = [['1,200', '4,200'], ['7,000', '-0.03'], [ '5', '0']]
df=pandas.DataFrame(a)
मैं अनुमान लगा रहा हूं कि मुझे locale.atof का उपयोग करने की आवश्यकता है। वास्तव में
df[0].apply(locale.atof)
उम्मीद के मुताबिक काम करता है। मुझे झांकियों की एक श्रृंखला मिलती है।
लेकिन जब मैं इसे DataFrame पर लागू करता हूं, तो मुझे एक त्रुटि मिलती है।
df.apply(locale.atof)
TypeError: ("सीरीज़ को कन्वर्ट नहीं कर सकता", यू'ऑर्केटेड एट इंडेक्स 0 ')
तथा
df[0:1].apply(locale.atof)
एक और त्रुटि देता है:
मान: ('फ़्लोट के लिए अमान्य शाब्दिक (): 1,200', 'सूचकांक 0 पर आधारित')
तो, मैं कैसे इस DataFrameस्ट्रिंग्स को डेटाफ्रेम की फ़्लोट्स में परिवर्तित करूं?
applyडेटाफ़्रेम पर एक पूरे कॉलम को एक श्रृंखला के रूप में फ़ंक्शन में पारित किया जाता है (इस मामले मेंlocale.atof, जो एक स्ट्रिंग की उम्मीद करता है)। यदि आप उसapplymapविधि का उपयोग करते हैं जो @AndyHayden नीचे दिए गए उत्तर में करती है, तो आपको यह ठीक करने में सक्षम होना चाहिए।