मेरे पास निम्न स्तंभ के साथ एक डेटाफ्रेम, डीएफ है:
df['ArrivalDate'] =
...
936 2012-12-31
938 2012-12-29
965 2012-12-31
966 2012-12-31
967 2012-12-31
968 2012-12-31
969 2012-12-31
970 2012-12-29
971 2012-12-31
972 2012-12-29
973 2012-12-29
...
स्तंभ के तत्व pandas.tslib.Timestamp हैं।
मैं सिर्फ साल और महीने को शामिल करना चाहता हूं। मैंने सोचा कि इसे करने का सरल तरीका होगा, लेकिन मैं इसका पता नहीं लगा सकता।
यहाँ मैंने कोशिश की है:
df['ArrivalDate'].resample('M', how = 'mean')
मुझे निम्नलिखित त्रुटि मिली:
Only valid with DatetimeIndex or PeriodIndex
फिर मैंने कोशिश की:
df['ArrivalDate'].apply(lambda(x):x[:-2])
मुझे निम्नलिखित त्रुटि मिली:
'Timestamp' object has no attribute '__getitem__'
कोई सुझाव?
संपादित करें: मुझे यह समझ में आया।
df.index = df['ArrivalDate']
फिर, मैं इंडेक्स का उपयोग करके दूसरे कॉलम को फिर से भेज सकता हूं।
लेकिन मैं अभी भी पूरे कॉलम को पुन: कॉन्फ़िगर करने के लिए एक विधि की तरह हूं। कोई विचार?
to_period: df.date_column.dt.month(या .year, या .day) काम करता है
.dt.monthहालांकि वर्ष खो देता है। और .dt.to_period('M')डेटा प्रकार को किसी ऐसी चीज़ में बदलता है जो डेटाइम 64 नहीं है। मैंने जुआन के जवाब का उपयोग करके .astype('datetime64[M]')मूल्यों को कम करने का सुझाव दिया।