मेरे पास xiv
नामक एक पांडा डेटाफ्रेम ऑब्जेक्ट है जिसमें int64
वॉल्यूम माप का कॉलम है।कब आवेदन करें (pd.to_numeric) और जब पाइथन में astype (np.float64) को कब करें?
In[]: xiv['Volume'].head(5)
Out[]:
0 252000
1 484000
2 62000
3 168000
4 232000
Name: Volume, dtype: int64
मैंने पढ़ लिया है अन्य पदों (जैसे this और this) कि निम्नलिखित समाधान सुझाव देते हैं। लेकिन जब मैं या तो दृष्टिकोण का उपयोग, यह अंतर्निहित डेटा की dtype
बदलने के लिए प्रकट नहीं होता है:
In[]: xiv['Volume'] = pd.to_numeric(xiv['Volume'])
In[]: xiv['Volume'].dtypes
Out[]:
dtype('int64')
या ...
In[]: xiv['Volume'] = pd.to_numeric(xiv['Volume'])
Out[]: ###omitted for brevity###
In[]: xiv['Volume'].dtypes
Out[]:
dtype('int64')
In[]: xiv['Volume'] = xiv['Volume'].apply(pd.to_numeric)
In[]: xiv['Volume'].dtypes
Out[]:
dtype('int64')
मैं भी एक अलग पांडा बनाने की कोशिश की है Series
और उस श्रृंखला पर ऊपर सूचीबद्ध विधियों का उपयोग करके और x['Volume']
पर फिर से सौंपना, जो pandas.core.series.Series
ऑब्जेक्ट है।
मेरे पास है, तथापि, numpy
पैकेज के float64
प्रकार का उपयोग कर इस समस्या का समाधान मिल गया - इस काम करता है लेकिन क्यों यह अलग है मैं नहीं जानता।
In[]: xiv['Volume'] = xiv['Volume'].astype(np.float64)
In[]: xiv['Volume'].dtypes
Out[]:
dtype('float64')
किसी pandas
पुस्तकालय numpy
पुस्तकालय अपने float64
वर्ग के साथ आसानी से कर रहा है क्या के साथ पूरा करने के लिए कैसे व्याख्या कर सकते हैं; यानी xiv
डेटाफ्रेम को float64
पर कॉलम में कनवर्ट करें।
'int64' पहले से ही" संख्यात्मक "प्रकार है। 'to_numeric()' को संख्याओं को संख्यात्मक dtypes में बदलने में मदद करनी चाहिए ... – MaxU
उद्धृत पोस्ट से पता चलता है कि 'to_numeric' को कॉल करके 'dtype' लौटाया गया'' float64' होगा ... – d8aninja
यह जांचें: 'pd.to_numeric (pd। श्रृंखला ([ '1', '2', '3']))। dtype'। यह केवल तभी आवश्यक होगा जब आवश्यक हो: 1. श्रृंखला में NaN या गैर-परिवर्तनीय मान हैं/हैं। 2. श्रृंखला – MaxU