Pandas में datetime कॉलम से वर्ष और महीना निकालना एक सामान्य कार्य है। यह लेख तीन कुशल विधियों का पता लगाता है, उनकी ताकत और कमजोरियों की तुलना करके आपकी आवश्यकताओं के लिए सबसे अच्छा तरीका चुनने में आपकी मदद करता है।
विषयवस्तु की तालिका
.dt
एक्सेसर का उपयोग करना
.dt
एक्सेसर datetime घटकों को निकालने का एक सरल और कुशल तरीका प्रदान करता है। इसकी पठनीयता और संक्षिप्तता के कारण यह अक्सर पसंदीदा विधि होती है।
import pandas as pd
data = {'date': pd.to_datetime(['2024-03-15', '2023-11-20', '2024-05-10'])}
df = pd.DataFrame(data)
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
print(df)
यह कोड आउटपुट करेगा:
date year month
0 2024-03-15 2024 3
1 2023-11-20 2023 11
2 2024-05-10 2024 5
strftime()
विधि का उपयोग करना
strftime()
विधि अधिक लचीलापन प्रदान करती है, जिससे आप आउटपुट प्रारूप को अनुकूलित कर सकते हैं। यह विशेष रूप से उपयोगी है जब आपको रिपोर्टिंग या अन्य उद्देश्यों के लिए वर्ष और महीने के विशिष्ट स्ट्रिंग निरूपण की आवश्यकता होती है।
import pandas as pd
data = {'date': pd.to_datetime(['2024-03-15', '2023-11-20', '2024-05-10'])}
df = pd.DataFrame(data)
df['year'] = df['date'].dt.strftime('%Y')
df['month'] = df['date'].dt.strftime('%m') # संक्षिप्त महीने के नाम के लिए '%b' का उपयोग करें, पूर्ण नाम के लिए '%B'
print(df)
यह उत्पादन करेगा:
date year month
0 2024-03-15 2024 03
1 2023-11-20 2023 11
2 2024-05-10 2024 05
प्रारूप कोड की पूरी सूची के लिए Python के strftime()
दस्तावेज़ देखें।
DatetimeIndex
के साथ सीधा पहुँच
यदि आपका ‘date’ कॉलम पहले से ही एक DatetimeIndex
है, तो आप सीधे वर्ष और महीने के गुणों तक पहुँच सकते हैं। हालांकि कम आम है, यदि आपका डेटा पहले से ही इस प्रारूप में है तो यह कुशल हो सकता है।
import pandas as pd
data = {'date': pd.to_datetime(['2024-03-15', '2023-11-20', '2024-05-10'])}
df = pd.DataFrame(data)
date_index = pd.DatetimeIndex(df['date'])
df['year'] = date_index.year
df['month'] = date_index.month
print(df)
यह पहले उदाहरण के समान आउटपुट उत्पन्न करता है। हालाँकि, यह विधि आम तौर पर कम पसंद की जाती है जब तक कि आप पहले से ही DatetimeIndex
ऑब्जेक्ट के साथ काम नहीं कर रहे हों।
निष्कर्ष: अधिकांश परिदृश्यों के लिए .dt
एक्सेसर सबसे संक्षिप्त और कुशल तरीका प्रदान करता है। strftime()
अधिक प्रारूपण नियंत्रण प्रदान करता है, जबकि सीधा DatetimeIndex
एक्सेस स्थितिजन्य रूप से उपयोगी है। वह विधि चुनें जो आपकी आवश्यकताओं और कोडिंग शैली के साथ सबसे अच्छी तरह से मेल खाती हो। यदि आवश्यक हो तो pd.to_datetime()
का उपयोग करके हमेशा सुनिश्चित करें कि आपका ‘date’ कॉलम datetime dtype का है।