2013-08-25 16 views
5

में टाइमडेल्टस की स्ट्रिंग स्वरूपण मैंने देखा कि पांडस जानता है कि timedelta ऑब्जेक्ट को स्ट्रिंग में स्मार्ट तरीके से कैसे प्रारूपित किया जाए।पांडस

In [1]: df[column][rows].max() 
Out[1]: 
0 2 days, 02:08:07 
dtype: timedelta64[ns] 

जब मैं इसे मैन्युअल रूप से करने का प्रयास करता हूं तो मैं स्ट्रिंग को नैनोसेकंड में प्राप्त करता रहता हूं।

In [2]: df[column][rows].max()[0] 
Out[2]: numpy.timedelta64(180487000000000,'ns') 

In [2]: str(df[column][rows].max()[0]) 
Out[2]: '180487000000000 nanoseconds' 

मैं नहीं बल्कि पहिया बदलने नहीं होता, इसलिए वहाँ स्ट्रिंग स्वरूपण विधि (या स्वयं स्ट्रिंग) है कि पांडा x days, hh:mm:ss में एक timedelta वस्तु दिखाने के लिए उपयोग का उपयोग करने के लिए किसी भी तरह है?

उत्तर

6

समारोह here स्थित है:

pd.tslib.repr_timedelta64 

कार्रवाई में:

In [11]: pd.tslib.repr_timedelta64(np.timedelta64(180487000000000,'ns')) 
Out[11]: '2 days, 02:08:07' 
+0

धन्यवाद! यह –

+4

होने के लिए एक उपयोगी कार्य है, मैं पूछ सकता हूं, आप कैसे जानते थे कि यह कार्य था? क्या आप कोड बेस अच्छी तरह से जानते हैं? पांडों में कुछ अच्छी स्ट्रिंग स्वरूपण सुविधाएं हैं, इसलिए उन्हें जानना अच्छा होगा कि उन्हें ब्राउज़ करना है। –

+1

मुझे लगता है कि यह tslib में होगा (जैसा कि मुझे कोड बेस पता है, और वह समय है जहां टाइम्सरी सामान है), और इसे एक टैब के साथ पूरा मिला :) –