pandas 0.23 - pandas.to_datetime()

pandas.to_datetime




pandas

pandas.to_datetime

pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=False) [source]

तर्क को डेटाइम में बदलें।

पैरामीटर:

arg : पूर्णांक, फ्लोट, स्ट्रिंग, डेटाइम, सूची, ट्यूपल, 1-डी सरणी, श्रृंखला

संस्करण 0.18.1 में नया: या डेटाफ़्रेम / तानाशाह की तरह

त्रुटियां : {'नजरअंदाज करना', 'उठाना', 'डराना'}, डिफ़ॉल्ट 'उठाना'

  • यदि 'बढ़ा' है, तो अमान्य पार्सिंग एक अपवाद को बढ़ाएगा
  • यदि 'मोटे तौर पर', तो अमान्य पार्सिंग को NaT के रूप में सेट किया जाएगा
  • यदि 'अनदेखा' करते हैं, तो अमान्य पार्सिंग इनपुट वापस कर देगा

दिन का समय : बूलियन, डिफ़ॉल्ट गलत

यदि arg है या उसकी सूची पसंद है तो डेट पार्स ऑर्डर निर्दिष्ट करें। अगर यह सच है, परसों पहले दिन के साथ मिलती है, जैसे 10/11/12 को 2012-11-10 के रूप में पार्स किया जाता है। चेतावनी: dayfirst = सच सख्त नहीं है, लेकिन पहले दिन के साथ पार्स करना पसंद करेंगे (यह एक ज्ञात बग है, जो डेटुतिल व्यवहार पर आधारित है)।

वर्षफल : बूलियन, डिफ़ॉल्ट गलत

यदि arg है या उसकी सूची पसंद है तो डेट पार्स ऑर्डर निर्दिष्ट करें।

  • यदि ट्रू पर्सेस पहले वर्ष के साथ हैं, जैसे 10/11/12 को 2010-11-12 के रूप में पार्स किया गया है।
  • यदि दिन और दिन दोनों सही हैं, तो वर्षफल पूर्व (तिथि के समान) है।

चेतावनी: yearfirst = सच सख्त नहीं है, लेकिन पहले वर्ष के साथ पार्स करना पसंद करेंगे (यह एक प्रसिद्ध बग है, जो डेटुतिल बीहैवियर पर आधारित है)।

संस्करण में नया 0.16.1।

utc : बूलियन, डिफ़ॉल्ट कोई नहीं

UTC डेटाइमइंडेक्स पर लौटें यदि सही है (किसी भी tz- अवगत डेटाइमटैड के रूप में अच्छी तरह से वस्तुओं को परिवर्तित करना)।

बॉक्स : बूलियन, डिफ़ॉल्ट सही

  • अगर True एक DatetimeIndex देता है
  • यदि गलत मानों का प्रतिफल देता है।

प्रारूप : स्ट्रिंग, डिफ़ॉल्ट कोई नहीं

समय को पार्स करने के लिए, उदाहरण के लिए "% d /% m /% Y", ध्यान दें कि "% f" नैनोसेकंड तक सभी तरह से पार्स करेगा।

सटीक : बूलियन, डिफ़ॉल्ट रूप से सही

  • यदि सही है, तो एक सटीक प्रारूप मैच की आवश्यकता है।
  • यदि गलत है, तो प्रारूप को लक्ष्य स्ट्रिंग में कहीं भी मिलान करने की अनुमति दें।

इकाई : स्ट्रिंग, डिफ़ॉल्ट 'एनएस'

arg (d, s, ms, us, ns) की इकाई को दर्शाती है, जो एक पूर्णांक या फ्लोट संख्या है। यह उत्पत्ति के आधार पर होगा। उदाहरण, इकाई = 'एमएस' और उत्पत्ति = 'यूनिक्स' (डिफ़ॉल्ट) के साथ, यह यूनिक्स युग की शुरुआत के लिए मिलीसेकंड की संख्या की गणना करेगा।

infer_datetime_format : बूलियन, डिफ़ॉल्ट गलत

यदि ट्रू और नो format दिया गया है, तो डेटाइम स्ट्रिंग्स के फॉर्मेट का अनुमान लगाने का प्रयास करें, और यदि यह अनुमान लगाया जा सकता है, तो उन्हें पार्स करने की एक तेज़ विधि पर स्विच करें। कुछ मामलों में यह पार्सिंग गति को ~ 5-10x तक बढ़ा सकता है।

मूल : अदिश, डिफ़ॉल्ट 'यूनिक्स' है

संदर्भ तिथि निर्धारित करें। इस संदर्भ तिथि से संख्यात्मक मानों को इकाइयों की संख्या ( unit द्वारा परिभाषित) के रूप में पार्स किया जाएगा।

  • यदि 'यूनिक्स' (या पॉसिक्स) समय; मूल 1970-01-01 को सेट किया गया है।
  • यदि 'जूलियन', इकाई 'डी' होनी चाहिए, और मूल जूलियन कैलेंडर की शुरुआत के लिए निर्धारित है। जूलियन दिन नंबर 0 को 1 जनवरी, 4713 ईसा पूर्व दोपहर को शुरू होने वाले दिन को सौंपा गया है।
  • यदि टाइमस्टैम्प परिवर्तनीय है, तो मूल की पहचान टाइमस्टैम्प के लिए की जाती है।

संस्करण में नया 0.20.0।

कैश : बूलियन, डिफ़ॉल्ट गलत

यदि सही है, तो डेटाइम रूपांतरण को लागू करने के लिए अद्वितीय, परिवर्तित तिथियों के कैश का उपयोग करें। डुप्लिकेट डेट स्ट्रिंग्स को पार्स करते समय, विशेष रूप से टाइमज़ोन ऑफ़सेट्स वाले लोगों के लिए काफी गति पैदा हो सकती है।

संस्करण में नया 0.23.0।

यह दिखाता है:

रिट : डेटाइम अगर पार्स करने में सफल रहा।

रिटर्न प्रकार इनपुट पर निर्भर करता है:

  • सूची-जैसे: DatetimeIndex
  • सीरीज़: सीरीज़ ऑफ़ डेटटाइम64
  • स्केलर: टाइमस्टैम्प

मामले में जब नामित प्रकारों को वापस करना संभव नहीं होता है (जैसे कि जब कोई भी तत्व टाइमस्टैम्प.इन से पहले या टिमस्टैम्प.मैक्स के बाद होता है) तो रिटर्न में डेटाइमटाइमडाइमटाइम टाइप (या संबंधित एरे / सीरीज़) होगा।

यह भी देखें

pandas.DataFrame.astype
एक निर्दिष्ट dtype को तर्क दें।
pandas.to_timedelta
तर्क को समयबद्धता में बदलें।

उदाहरण

DataFrame के कई कॉलम से एक डेटाइम को असेंबल करना। कुंजियाँ आम तौर पर संक्षिप्त हो सकती हैं जैसे ['वर्ष', 'महीना', 'दिन', 'मिनट', 'दूसरा', 'एमएस', 'हम', 'एनएस']) या समान

>>> df = pd.DataFrame({'year': [2015, 2016],
                       'month': [2, 3],
                       'day': [4, 5]})
>>> pd.to_datetime(df)
0   2015-02-04
1   2016-03-05
dtype: datetime64[ns]

यदि कोई तिथि टाइमस्टैम्प सीमाओं को पूरा नहीं करती है, तो त्रुटियां पास करना = 'अनदेखा करना' किसी भी अपवाद को बढ़ाने के बजाय मूल इनपुट वापस कर देगा।

पासिंग एरर = 'कोएर्स' गैर-तारीखों (या गैर-पार्स करने योग्य तारीखों) को मजबूर करने के अलावा, NaT को एक आउट-ऑफ-बाउंड डेट के लिए बाध्य करेगा।

>>> pd.to_datetime('13000101', format='%Y%m%d', errors='ignore')
datetime.datetime(1300, 1, 1, 0, 0)
>>> pd.to_datetime('13000101', format='%Y%m%d', errors='coerce')
NaT

Infer_datetime_format पास करना = सच में कई बार पार्सिंग को गति दे सकता है यदि इसका ISO8601 प्रारूप बिलकुल नहीं, बल्कि एक नियमित प्रारूप में है।

>>> s = pd.Series(['3/11/2000', '3/12/2000', '3/13/2000']*1000)
>>> s.head()
0    3/11/2000
1    3/12/2000
2    3/13/2000
3    3/11/2000
4    3/12/2000
dtype: object
>>> %timeit pd.to_datetime(s,infer_datetime_format=True)
100 loops, best of 3: 10.4 ms per loop
>>> %timeit pd.to_datetime(s,infer_datetime_format=False)
1 loop, best of 3: 471 ms per loop

यूनिक्स युग के समय का उपयोग करना

>>> pd.to_datetime(1490195805, unit='s')
Timestamp('2017-03-22 15:16:45')
>>> pd.to_datetime(1490195805433502912, unit='ns')
Timestamp('2017-03-22 15:16:45.433502912')

चेतावनी

फ्लोट अर्ग के लिए, सटीक गोलाई हो सकती है। अप्रत्याशित व्यवहार को रोकने के लिए एक निश्चित-चौड़ाई वाले सटीक प्रकार का उपयोग करें।

एक गैर-यूनिक्स युग की उत्पत्ति का उपयोग करना

>>> pd.to_datetime([1, 2, 3], unit='D',
                   origin=pd.Timestamp('1960-01-01'))
0    1960-01-02
1    1960-01-03
2    1960-01-04