2013-12-08 5 views
9

मुझे pandas.DataFrame दौर चाहिए।पांडा को बदलने का सही तरीका। डेटाफ्रेम?

यहाँ मैं अब तक की कोशिश की है है:

import pandas as pd 
data = pd.DataFrame([1.4,2.5,3.8,4.4,5.6],[6.2,7.6,8.8,9.1,0]) 
print(round(data)) 

लेकिन जब मैं इस कोड चलाने के लिए, मैं निम्नलिखित त्रुटि मिलती है:

Traceback (most recent call last): 
    File "C:\Users\*****\Documents\*****\******\****.py", line 3, in <module> 
    print(round(data)) 
TypeError: type DataFrame doesn't define __round__ method 

pandas.DataFrame पूर्णांक बनाना सही तरीका क्या है?

+0

Dup http://stackoverflow.com/q/19100540/564538 –

उत्तर

13

पहले, आप अपने डेटा फ्रेम की परिभाषा को बदलने के लिए चाहते हो सकता है, कुछ की तरह:

data = pd.DataFrame([[1.4,2.5,3.8,4.4,5.6],[6.2,7.6,8.8,9.1,0]]).T 

जो इस परिणाम:

 0 1 
0 1.4 6.2 
1 2.5 7.6 
2 3.8 8.8 
3 4.4 9.1 
4 5.6 0.0 

या:

data = pd.DataFrame({'A':[1.4,2.5,3.8,4.4,5.6],'B':[6.2,7.6,8.8,9.1,0]}) 
तो

कि आपको दो कॉलम मिलते हैं, अन्यथा दूसरी सूची इंडेक्स के रूप में उठाई जाती है; तो:

data.apply(pd.Series.round) 

या

import numpy as np 
data.apply(np.round) 
+0

की यह केवल पहला स्तंभ –

+2

जिस तरह से आप dataframe कर रहे हैं दौर, अन्य स्तंभ है, पांडा नहीं कॉलम सूचकांक के कार्यों को लागू करने –

+0

श्रृंखला के बारे में क्या, मैं उन्हें कैसे गोल कर सकता हूं? –

3

पांडा 0.17.0 जब से तुम

DataFrame.round(decimals=0, *args, **kwargs) 

उपयोग कर सकते हैं आप कर अपने डेटा पूर्णांक बनाना के 2 दशमलव के कहने देना चाहते हैं:

अधिक जानकारी यहां:सूचकांकhttp://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.round.html

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