2017-03-05 5 views
5

पांडा के लिए नया, तो शायद मुझे एक बड़ा विचार याद आ रहा है? मैं (500,4) की तरह आकार के साथ रजिस्टर लेनदेन के एक पांडा DataFrame है:मेरा पांडस डेटाफ्रेम क्यों 'sort_values` का उपयोग करके नया ऑर्डर प्रदर्शित नहीं करता है?

Time    datetime64[ns] 
Net Total    float64 
Tax      float64 
Total Due    float64 

मैं एक python3 Jupyter नोटबुक में मेरी कोड के माध्यम से काम कर रहा हूँ। मैं किसी भी कॉलम को पिछले सॉर्टिंग नहीं कर सकता। सॉर्ट के लिए अलग-अलग कोड उदाहरणों के माध्यम से काम करते हुए, जब मैं डीएफ का निरीक्षण करता हूं तो आउटपुट रीडर को नहीं देख रहा हूं। तो, मैं केवल एक कॉलम ऑर्डर करने के लिए कोशिश कर रहा करने के लिए समस्या कम है:

df.sort_values(by='Time') 
# OR 
df.sort_values(['Total Due']) 
# OR 
df.sort_values(['Time'], ascending=True) 

कोई फर्क नहीं पड़ता जो स्तंभ शीर्षक, या जो बूलियन तर्क मैं का उपयोग करें, प्रदर्शित परिणामों आदेश को बदल नहीं है।

में सोच रही थी कि यह एक Jupyter बात हो सकती है, मैं का उपयोग कर print(df), df.head(), और HTML(df.to_html()) (पिछले उदाहरण Jupyter पुस्तिकाओं के लिए है) परिणाम पूर्वावलोकन कर चुके हैं। मैंने इस कोड में आयात सीएसवी से पूरी नोटबुक भी दोबारा शुरू कर दी है। और, मैं पाइथन 3 (2.7 से) के लिए भी नया हूं, इसलिए मैं कभी-कभी उस के साथ अटक जाता हूं, लेकिन मुझे नहीं लगता कि यह इस मामले में कैसे प्रासंगिक है।

एक और पोस्ट एक समान समस्या है, Python pandas dataframe sort_values does not work। उस उदाहरण में, ऑर्डरिंग कॉलम प्रकार string पर थी। लेकिन जैसा कि आप यहां देख सकते हैं कि सभी कॉलम अनजाने में क्रमबद्ध हैं।

मेरे पांडस डेटाफ्रेम sort_values का उपयोग करके नया ऑर्डर क्यों प्रदर्शित नहीं करता है?

+1

इस कोशिश IIUC: 'DF = df.sort_values ​​([ 'कुल देय'])' या 'df.sort_values ​​([ ' कुल देय '], inplace = True) ' – MaxU

+0

@MaxU ने ऐसा किया। आपको पता है कि। मैं प्रत्येक ट्रांसफॉर्म के साथ एक नया डेटाफ्रेम बना रहा था - इसे छोड़कर; वह तो आसान था। इसके साथ जवाब दें और मैं इसे उत्तर दिया - किया जाएगा। – xtian

उत्तर

10

df.sort_values(['Total Due']) एक क्रमबद्ध डीएफ देता है, लेकिन यह जगह में डीएफ अपडेट नहीं करता है।

तो यह स्पष्ट रूप से कार्य करें:

df = df.sort_values(['Total Due']) 

या

df.sort_values(['Total Due'], inplace=True) 
संबंधित मुद्दे