मेरे पास एक डेटाफ्रेम है जिसमें दिनांक समय स्ट्रिंग है लेकिन पारंपरिक दिनांक समय प्रारूप में नहीं है। मैं समय से तारीख को दो अलग-अलग कॉलम में अलग करना चाहता हूं। और फिर अंततः महीने को भी अलग कर दें।

दिनांक/समय स्ट्रिंग इस तरह दिखती है: 2019-03-20T16:55:52.981-06:00

>>> df.head()
Date                             Score
2019-03-20T16:55:52.981-06:00    10
2019-03-07T06:16:52.174-07:00    9
2019-06-17T04:32:09.749-06:003   1

मैंने यह कोशिश की लेकिन एक प्रकार की त्रुटि मिली:

df['Month'] = pd.DatetimeIndex(df['Date']).month
0
Lindsay Renkel 30 अगस्त 2019, 20:52

1 उत्तर

सबसे बढ़िया उत्तर

यह केवल pandas का उपयोग करके ही किया जा सकता है। आप पहले Date कॉलम को utc = True पास करके datetime में बदल सकते हैं:

df['Date'] = pd.to_datetime(df['Date'], utc = True)

और फिर केवल dt.month का उपयोग करके महीना निकालें:

df['Month'] = df['Date'].dt.month

आउटपुट:

                              Date  Score  Month
0 2019-03-20 22:55:52.981000+00:00     10      3
1 2019-03-07 13:16:52.174000+00:00      9      3
2 2019-06-17 10:32:09.749000+00:00      1      6

Pd.to_datetime

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

यूटीसी डेटाटाइम इंडेक्स लौटाएं यदि सही है (किसी भी टीजेड-जागरूक डेटाटाइम को कनवर्ट करना। डेटाटाइम ऑब्जेक्ट्स भी)।

2
Ankur Sinha 30 अगस्त 2019, 21:22