में पेंडस डेटाफ्रेम कॉलम duration
में दिखाए गए अनुसार timedelta64[ns]
में timedelta64 [ns] कॉलम को सेकंड में कनवर्ट करें। आप उन्हें सेकंड में कैसे परिवर्तित कर सकते हैं?पाइथन पांडस डेटाफ्रेम
0 00:20:32
1 00:23:10
2 00:24:55
3 00:13:17
4 00:18:52
Name: duration, dtype: timedelta64[ns]
मैं निम्नलिखित
print df[:5]['duration']/np.timedelta64(1, 's')
कोशिश की, लेकिन त्रुटि
Traceback (most recent call last):
File "test.py", line 16, in <module>
print df[0:5]['duration']/np.timedelta64(1, 's')
File "C:\Python27\lib\site-packages\pandas\core\series.py", line 130, in wrapper
"addition and subtraction, but the operator [%s] was passed" % name)
TypeError: can only operate on a timedeltas for addition and subtraction, but the operator [__div__] was passed
इसके अलावा
print df[:5]['duration'].astype('timedelta64[s]')
की कोशिश की हो गई लेकिन त्रुटि प्राप्त
Traceback (most recent call last):
File "test.py", line 17, in <module>
print df[:5]['duration'].astype('timedelta64[s]')
File "C:\Python27\lib\site-packages\pandas\core\series.py", line 934, in astype
values = com._astype_nansafe(self.values, dtype)
File "C:\Python27\lib\site-packages\pandas\core\common.py", line 1653, in _astype_nansafe
raise TypeError("cannot astype a timedelta from [%s] to [%s]" % (arr.dtype,dtype))
TypeError: cannot astype a timedelta from [timedelta64[ns]] to [timedelta64[s]]
इस निश्चित हाल में जारी है, जैसा कि [स्रोत कोड] में है (https://github.com/pydata/pandas/blame/778cfe43a4cef52442e00fe505290079a717f515/pandas/core/ops.py#L304), यदि दोनों पक्ष timedelta अतिरिक्त हैं, घटाव और _division_ समर्थित हैं। कोड का वह अनुभाग 2013 –
@ behzad.nouri में वापस बदला गया था, मुझे विश्वास है कि यह 0.13.1 (शायद 0.14 की आवश्यकता है) में तय किया गया था, लेकिन वर्तमान 0.15.0 है: http://pandas.pydata.org /pandas-docs/stable/timedeltas.html#frequency-conversion – Jeff
@ behzad.nouri धन्यवाद, पांडस 0.15.0 और numpy 1.9.0 को अद्यतन करने के लिए यह काम करने के लिए मिला। – Nyxynyx