2013-02-06 19 views
47

मेरे पास एक पांडा डीएफ में बहु-सूचकांक कॉलम वाला डेटासेट है जिसे मैं किसी विशिष्ट कॉलम में मानों से सॉर्ट करना चाहता हूं। मैंने सॉर्टिंडेक्स और सॉर्टलेवल का उपयोग करने का प्रयास किया है, लेकिन जिन परिणामों को मैं ढूंढ रहा हूं उन्हें प्राप्त करने में सक्षम नहीं हूं। मेरे डाटासेट लगता है:पांडस में मल्टी इंडेक्स छंटनी

Group1 Group2 
    A B C  A B C 
1 1 0 3  2 5 7 
2 5 6 9  1 0 0 
3 7 0 2  0 3 5 

मैं तो अपने परिणामों की तरह लग रहे सभी डेटा और अवरोही क्रम में समूह 1 में स्तंभ सी द्वारा सूचकांक क्रमबद्ध करना चाहते हैं:

Group1 Group2 
    A B C  A B C 
2 5 6 9  1 0 0 
1 1 0 3  2 5 7 
3 7 0 2  0 3 5 

यह इस तरह करने के लिए संभव है जिस संरचना में मेरा डेटा है, या क्या मुझे इंडेक्स पक्ष में समूह 1 को स्वैप करना चाहिए?

उत्तर

64

जब एक MultiIndex द्वारा छँटाई आप टपल एक सूची * अंदर स्तंभ का वर्णन शामिल करने के लिए की जरूरत है:

In [11]: df.sort([('Group1', 'C')], ascending=False) 
Out[11]: 
    Group1  Group2  
     A B C  A B C 
2  5 6 9  1 0 0 
1  1 0 3  2 5 7 
3  7 0 2  0 3 5 

* इतनी के रूप में सोच आप सी द्वारा तो पहले ग्रुप 1 द्वारा क्रमबद्ध करना चाहते हैं में पांडा भ्रमित करने के लिए नहीं

+0

धन्यवाद, बिल्कुल वही जो मैं खोज रहा था। – MattB

+0

हम्फ। मेरे से तेज़ और बूट करने के लिए एक बेहतर समाधान। – DSM

+0

@DSM [मैं क्या कह सकता हूं] (http://en.wikipedia.org/wiki/The_Typing_of_the_Dead)? : डी –

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