2014-09-03 10 views
35

में timedelta int को कनवर्ट करें मैं एक पांडा डेटा फ्रेम में एक कॉलम बनाना चाहता हूं जो टाइमेडेलटा कॉलम में दिनों की संख्या का पूर्णांक प्रतिनिधित्व है। क्या 'datetime.days' का उपयोग करना संभव है या क्या मुझे कुछ और मैन्युअल करने की आवश्यकता है?पायथन: डेटाफ्रेम

timedelta स्तंभ

7 दिन, 23:29:00

दिन पूर्णांक स्तंभ

+4

क्या आपने 'timedelta.days' का उपयोग करने का प्रयास किया है? – Ffisegydd

उत्तर

42

आप यह कर सकते हैं, जहां td आपकी टाइमडेल्टस की श्रृंखला है। विभाजन नैनोसेकंद डेल्टा को डेल्टा में परिवर्तित करता है, और पूरे दिन तक int बूंदों में रूपांतरण होता है।

import numpy as np 

(td/np.timedelta64(1, 'D')).astype(int) 
+1

धन्यवाद! 15 मिनट के खोज के बाद भी मुझे यह मिला। http://stackoverflow.com/questions/18215317/extracting-days-from-a-numpy-timedelta64-value –

29

dt.days विशेषता का उपयोग करें। मान td अपने timedelta श्रृंखला का नाम है, के माध्यम से इस विशेषता का उपयोग:

td.dt.days 
+4

मुझे सादगी के लिए यह टिप्पणी पसंद है और किसी अन्य लाइब्रेरी के आयात की आवश्यकता नहीं है। – NickBraunagel

1

टिमडेल्टा ऑब्जेक्ट्स में केवल पढ़ने के लिए उदाहरण .days, .seconds, और .microseconds हैं।

संबंधित मुद्दे