2017-06-18 15 views
5

में टाइमेडेलटा ऑब्जेक्ट का औसत और मानक विचलन ढूंढना मैं नीचे दो स्तंभों के साथ डेटा फ्रेम से बैंक द्वारा टाइमडेल्टा के औसत और मानक विचलन की गणना करना चाहता हूं। pandas.core.base.DataError:: जब मैं कोड (भी नीचे दिखाया गया है) को चलाने मैं त्रुटि मिलती है कोई सांख्यिक प्रकार एकत्र करने के लिएपांडास डीएफ

मेरे dataframe:

bank       diff 
    Bank of Japan     0 days 00:00:57.416000 
    Reserve Bank of Australia  0 days 00:00:21.452000 
    Reserve Bank of New Zealand 55 days 12:39:32.269000 
    U.S. Federal Reserve   8 days 13:27:11.387000 

मेरे कोड:

means = dropped.groupby('bank').mean() 
std = dropped.groupby('bank').std() 

धन्यवाद!

+0

आप 'timedelta' ऑब्जेक्ट को कैसे एकत्र करना चाहते हैं? यदि आप कुल मिलाकर देखना चाहते हैं तो '.days' या' .cconds' विशेषताओं तक पहुंचें। – Abdou

उत्तर

5

आपको timedelta को कुछ संख्यात्मक मान में बदलने की आवश्यकता है, उदा। int64values से क्या, सबसे सटीक है, क्योंकि परिवर्तित ns क्या timedelta की संख्यात्मक प्रस्तुति है:

dropped['new'] = dropped['diff'].values.astype(np.int64) 

means = dropped.groupby('bank').mean() 
means['new'] = pd.to_timedelta(means['new']) 

std = dropped.groupby('bank').std() 
std['new'] = pd.to_timedelta(std['new']) 

एक अन्य समाधान total_seconds द्वारा seconds के लिए मान परिवर्तित करने के लिए है, लेकिन यह कम सटीक है:

dropped['new'] = dropped['diff'].dt.total_seconds() 

means = dropped.groupby('bank').mean() 
+0

धन्यवाद, यह एक आकर्षण की तरह काम करता है - (मैंने पहला समाधान इस्तेमाल किया)! –

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