में स्ट्रिंग्स को फ़्लैट करने के लिए तारों को कनवर्ट करना स्ट्रिंग्स युक्त 0Fमानों को डेटाफ्रेम कॉलम को कैसे घुमाएं। और एक और स्तंभ है जिसका मूल्य तार और तैरता है; इस पूरे कॉलम को फ्लोट में कैसे परिवर्तित करें।डेटाफ्रेम
उत्तर
आप df.column_name = df.column_name.astype(float)
को आजमा सकते हैं। NaN
मानों के लिए, आपको यह निर्दिष्ट करने की आवश्यकता है कि उन्हें कैसे परिवर्तित किया जाना चाहिए, लेकिन आप इसे करने के लिए .fillna
विधि का उपयोग कर सकते हैं।
उदाहरण:
In [12]: df
Out[12]:
a b
0 0.1 0.2
1 NaN 0.3
2 0.4 0.5
In [13]: df.a.values
Out[13]: array(['0.1', nan, '0.4'], dtype=object)
In [14]: df.a = df.a.astype(float).fillna(0.0)
In [15]: df
Out[15]:
a b
0 0.1 0.2
1 0.0 0.3
2 0.4 0.5
In [16]: df.a.values
Out[16]: array([ 0.1, 0. , 0.4])
यह 0.11 में उपलब्ध है। बल रूपांतरण (या सेट से नैन) यह तब भी काम करेगा जब astype
विफल हो जाएगा; इसकी भी श्रृंखला द्वारा श्रृंखला तो यह एक पूरी स्ट्रिंग स्तंभ कहना
In [10]: df = DataFrame(dict(A = Series(['1.0','1']), B = Series(['1.0','foo'])))
In [11]: df
Out[11]:
A B
0 1.0 1.0
1 1 foo
In [12]: df.dtypes
Out[12]:
A object
B object
dtype: object
In [13]: df.convert_objects(convert_numeric=True)
Out[13]:
A B
0 1 1
1 1 NaN
In [14]: df.convert_objects(convert_numeric=True).dtypes
Out[14]:
A float64
B float64
dtype: object
कृपया ध्यान दें कि यह (leadt multiindex पर) स्तंभों के लिए काम नहीं करता है, बस dataframe – denfromufa
में मूल्यों के लिए काम करता है मैं set_levels उपयोग करने के लिए स्ट्रिंग में कनवर्ट करने – denfromufa
फ्लोट करने के लिए तो आप कुछ गलत कर रहे हैं के लिए किया था । स्ट्रिंग को फ्लोट में कनवर्ट करना एक व्याख्यात्मक उपयोगकर्ता कार्रवाई है। – Jeff
df['MyColumnName'] = df['MyColumnName'].astype('float64')
यह स्ट्रिंग से फ़्लोट में कनवर्ट करते समय काम नहीं करता है: 'ValueError: स्ट्रिंग को फ़्लोट में परिवर्तित नहीं कर सका: 'तिथि ' '' – Jack
पांडा के एक नए संस्करण में (0.17 और ऊपर) रूपांतरित नहीं करेंगे, तो आप to_numeric फ़ंक्शन का उपयोग कर सकते हैं। यह आपको पूरे डेटाफ्रेम या केवल व्यक्तिगत कॉलम को कनवर्ट करने की अनुमति देता है। यह आपको उन सामानों का इलाज करने का विकल्प भी प्रदान करता है जिन्हें संख्यात्मक मानों में परिवर्तित नहीं किया जा सकता है:
import pandas as pd
s = pd.Series(['1.0', '2', -3])
pd.to_numeric(s)
s = pd.Series(['apple', '1.0', '2', -3])
pd.to_numeric(s, errors='ignore')
pd.to_numeric(s, errors='coerce')
pd.to_numeric' एक 'DataFrame' को लागू करने के लिए एक' उपयोग कर सकते हैं df.apply (pd.to_numeric) 'के रूप में [विस्तार से इस जवाब में बताया गया है] (https://stackoverflow.com/a/34844867/604,687)। – Ninjakannon
- 1. डेटाफ्रेम के डेटाफ्रेम के रूप में डेटाफ्रेम
- 2. डेटाफ्रेम
- 3. डेटाफ्रेम
- 4. डेटाफ्रेम
- 5. डेटाफ्रेम
- 6. डेटाफ्रेम
- 7. डेटाफ्रेम
- 8. डेटाफ्रेम
- 9. डेटाफ्रेम
- 10. डेटाफ्रेम
- 11. डेटाफ्रेम
- 12. डेटाफ्रेम
- 13. डेटाफ्रेम
- 14. डेटाफ्रेम
- 15. डेटाफ्रेम
- 16. डेटाफ्रेम
- 17. डेटाफ्रेम
- 18. डेटाफ्रेम
- 19. डेटाफ्रेम
- 20. डेटाफ्रेम
- 21. डेटाफ्रेम
- 22. डेटाफ्रेम
- 23. डेटाफ्रेम
- 24. डेटाफ्रेम
- 25. डेटाफ्रेम
- 26. डेटाफ्रेम
- 27. डेटाफ्रेम
- 28. डेटाफ्रेम
- 29. डेटाफ्रेम
- 30. डेटाफ्रेम
** 'convert_objects' ** का उपयोग न करें। यह बहिष्कृत है। 'To_numeric' या' astype' का प्रयोग करें बजाय –