कई मामलों में, आप इसके लिए to_timedelta
फ़ंक्शन का उपयोग कर सकते हैं। यह एक timedelta के लिए एक स्ट्रिंग में परिवर्तित कर देंगे:
In [9]: pd.to_timedelta('30min')
Out[9]: Timedelta('0 days 00:30:00')
In [10]: pd.to_timedelta('2S')
Out[10]: Timedelta('0 days 00:00:02')
हालांकि, यह है कि pd.to_timedelta ('30T') काम नहीं करता है लगता है, लेकिन यह शायद एक लापता सुविधा के रूप में माना जा सकता है।
लेकिन, यह एक के लिए यदि आप सबसे पहले एक आवृत्ति वस्तु को परिवर्तित काम करता है और उसके बाद to_timedelta
को यह आपूर्ति: यदि आप एक freqstr
एक DatetimeIndex से से शुरू करते हैं
In [19]: from pandas.tseries.frequencies import to_offset
In [20]: pd.to_timedelta(to_offset('30T'))
Out[20]: Timedelta('0 days 00:30:00')
, दूसरा दृष्टिकोण हमेशा काम करेंगे।
In [34]: dtidx = pd.date_range('2012-01-01', periods=5, freq='30min')
In [35]: pd.to_timedelta(dtidx.freq)
Out[35]: Timedelta('0 days 00:30:00')
आप अपने इनपुट कृपया दे सकते हैं: लेकिन, आप भी
freqstr
के बजायfreq
, जो सीधे एक आवृत्ति ऑब्जेक्ट का उपयोग कर सकते हैं? –संभावित डुप्लिकेट [एक सरल स्ट्रिंग से टाइमडेल्टा ऑब्जेक्ट कैसे बनाएं] (http://stackoverflow.com/questions/4628122/how-to-construct-a-timedelta-object-from-a-simple-string) – SiHa
@ कोलोनेल बेउवेल: इनपुट स्ट्रिंग्स जैसे "30T" या तो डेटटाइम इंडेक्स की 'freqstr' विशेषता से प्राप्त या पुनर्प्राप्त है –