में कनवर्ट करने से pandas.to_datetime() फ़ंक्शन को कैसे रोकूं? मेरे पास डेटाबेस में केवल पढ़ने के लिए पहुंच है जिसे मैं क्वेरी करता हूं और pymssql का उपयोग करके पांडस डेटाफ्रेम में पढ़ता हूं। चरों में से एक में तिथियां हैं, जिनमें से कुछ 01 जनवरी 0001 को मध्यरात्रि के रूप में संग्रहीत हैं (यानी 0001-01-01 00: 00: 00.0000000)। मुझे नहीं पता कि उन तिथियों को क्यों शामिल किया जाना चाहिए - जहां तक मुझे पता है, उन्हें SQL सर्वर द्वारा मान्य दिनांक के रूप में पहचाना नहीं गया है और वे शायद कुछ डिफ़ॉल्ट डेटा प्रविष्टि के कारण हैं। फिर भी, मुझे यही काम करना है।मैं 0001-01-01 से 2001-01-01
import numpy as np
import pandas as pd
tempDF = pd.DataFrame({ 'id': [0,1,2,3,4],
'date': ['0001-01-01 00:00:00.0000000',
'2015-05-22 00:00:00.0000000',
'0001-01-01 00:00:00.0000000',
'2015-05-06 00:00:00.0000000',
'2015-05-03 00:00:00.0000000']})
dataframe की तरह दिखता है:
print(tempDF)
date id
0 0001-01-01 00:00:00.0000000 0
1 2015-05-22 00:00:00.0000000 1
2 0001-01-01 00:00:00.0000000 2
3 2015-05-06 00:00:00.0000000 3
4 2015-05-03 00:00:00.0000000 4
... निम्नलिखित dtypes साथ:
print(tempDF.dtypes)
date object
id int64
dtype: object
print(tempDF.dtypes)
हालांकि, मैं नियमित रूप से तिथि परिवर्तित यह एक dataframe के रूप में इस प्रकार से निर्मित किया जा सकता है डाटाफ्रेम में डेटाटाइम का उपयोग डेटाटाइम प्रारूप में:
tempDF['date'] = pd.to_datetime(tempDF['date'])
हालांकि, मौके से, मैंने देखा है कि 0001-01-01 दिनांक 2001-01-01 में परिवर्तित हो गया है।
print(tempDF)
date id
0 2001-01-01 0
1 2015-05-22 1
2 2001-01-01 2
3 2015-05-06 3
4 2015-05-03 4
मुझे लगता है कि मूल डेटाबेस में दिनांक सही नहीं हैं क्योंकि एसक्यूएल सर्वर कोई मान्य दिनांक के रूप में 0001-01-01 न दिखाई दें। लेकिन कम से कम 0001-01-01 प्रारूप में, ऐसे लापता डेटा को मेरे पांडस डेटाफ्रेम के भीतर पहचानना आसान है। हालांकि, जब pandas.to_datetime() इन तिथियों को बदलता है तो वे एक व्यवहार्य सीमा के भीतर झूठ बोलते हैं, ऐसे आउटलाइर्स को याद करना बहुत आसान है।
मैं कैसे सुनिश्चित कर सकता हूं कि pd.to_datetime बाहरी तिथियों को गलत तरीके से समझ नहीं पा रहा है?
बिल्कुल सही। समाधान के लिए और अतिरिक्त तर्क के लिए धन्यवाद। – user1718097