2015-03-25 3 views
12

पांडा के लिए, किसी को पता होगा, अगरपांडा पहचानने वाले सभी प्रकार के क्या प्रकार हैं?

(i) float64, int64 (और अन्य float32 तरह np.number के वेरिएंट, int8 आदि)

(ii) bool

से अलग किसी भी डेटाप्रकार (iii) datetime64, timedelta64

जैसे स्ट्रिंग कॉलम, हमेशा object है?

वैकल्पिक रूप से, मुझे पता है, चाहते हैं कि क्या कोई डेटाप्रकार (i) से अलग कर रहे हैं, (ii) और (iii) कि pandas उपरोक्त सूची में यह dtype एक object है नहीं है?

+0

संबंधित: http://stackoverflow.com/questions/21197774/assign-pandas-dataframe-column-dtypes –

उत्तर

4

भी uint8 है।

dtypes पर पांडस दस्तावेज़ों में बहुत अधिक जानकारी है।

मुख्य पांडा वस्तुओं में संग्रहीत प्रकार नाव, int, bool, datetime64 [एनएस], timedelta [एनएस], और वस्तु कर रहे हैं। इसके अलावा इन dtypes आइटम आकार हैं, उदा। int64 और int32।

डिफ़ॉल्ट पूर्णांक प्रकार int64 हैं और फ्लोट प्रकार फ्लोट 64, प्लेटफ़ॉर्म (32-बिट या 64-बिट) के रेगर्डलेस हैं। निम्नलिखित सभी परिणाम int64 dtypes में होंगे।

न्यूम्पी, हालांकि सरणी बनाते समय प्लेटफ़ॉर्म-निर्भर प्रकारों का चयन करेगा। निम्नलिखित 32-बिट प्लेटफॉर्म पर int32 में परिणाम होगा।

+4

वे करने के लिए इस खंड में ले जाया गया: http://pandas.pydata.org/pandas-docs/stable/basics .html # dtypes –

+0

@AntonTarasenko धन्यवाद। मैंने लिंक अपडेट किया है। – Alexander

5

pandasnumpy से इसकी dtypes borrows।

':

import pandas as pd 

df = pd.DataFrame({'A': [1,'C',2.]}) 
df['A'].dtype 

>>> dtype('O') 

type(df['A'].dtype) 

>>> numpy.dtype 

आप वैध numpy.dtypesin the documentation की सूची प्राप्त कर सकते हैं: इस के प्रदर्शन के लिए निम्न देखें?'बूलियन

' बी '(हस्ताक्षरित) बाइट

' बी 'अहस्ताक्षरित बाइट

' मैं '(हस्ताक्षरित) पूर्णांक

' यू 'अहस्ताक्षरित पूर्णांक

' एफ 'चल सूत्रीय

'सी' जटिल चल बिन्दु

'm' timedelt एक

'एम' datetime

'O' (अजगर) वस्तुओं

'एस', 'एक' शून्य समाप्त बाइट्स (अनुशंसित नहीं)

'U' यूनिकोड स्ट्रिंग

'वी' कच्चे डेटा (शून्य)

pandas इन प्रकार समर्थन करना चाहिए। pandas.Series ऑब्जेक्ट का उपयोग उपर्युक्त विकल्पों में से किसी भी विकल्प के साथ इनपुट तर्क के रूप में pandas उस प्रकार के Series को परिवर्तित करने की कोशिश कर रहा है (या कम से कम object प्रकार पर गिरने पर); 'u' केवल एक ही है कि मैं pandas बिल्कुल समझ नहीं देख पा रहे है:

df['A'].astype('u') 

>>> TypeError: data type "u" not understood 

यह एक numpy त्रुटि परिणाम है कि क्योंकि 'u' जरूरतों एक संख्या में प्रति आइटम बाइट की संख्या निर्दिष्ट करने के द्वारा पीछा किया जाना है (जो की जरूरत है मान्य हो):

import numpy as np 

np.dtype('u') 

>>> TypeError: data type "u" not understood 

np.dtype('u1') 

>>> dtype('uint8') 

np.dtype('u2') 

>>> dtype('uint16') 

np.dtype('u4') 

>>> dtype('uint32') 

np.dtype('u8') 

>>> dtype('uint64') 

# testing another invalid argument 
np.dtype('u3') 

>>> TypeError: data type "u3" not understood 

संक्षेप में, pandas वस्तुओं की astype तरीकों कोशिश करते हैं और कुछ किसी भी तर्क है कि numpy.dtype के लिए मान्य है साथ समझदार करेंगे। ध्यान दें कि numpy.dtype('f')numpy.dtype('float32') और numpy.dtype('f8') जैसा ही numpy.dtype('float64') आदि जैसा ही है। pandasastype विधियों के तर्कों को पारित करने के लिए समान है।

संबंधित मुद्दे