2013-08-21 11 views
28

मैं इस उत्तर को खोजने का प्रयास करते समय शायद खराब खोज शब्दों का उपयोग कर रहा हूं। अभी, एक DataFrame का अनुक्रमण से पहले, मैं मानों की सूची एक कॉलम इस तरह से तो मैं set_index स्तंभ पर हूँ हो रही है ...पांडस डेटाफ्रेम की पंक्ति-अनुक्रमणिका मान सूची के रूप में प्राप्त करें?

list = list(df['column']) 

...। यह एक बर्बाद कदम की तरह लगता है। इंडेक्स पर उपरोक्त कोशिश करते समय, मुझे एक महत्वपूर्ण त्रुटि मिलती है।

मैं एक इंडेक्स (एकल और बहु ​​दोनों) में मूल्यों को कैसे पकड़ सकता हूं और उन्हें एक सूची या टुपल्स की सूची में डाल सकता हूं?

+4

* क्यों * आप उन्हें एक सूची के रूप में चाहते हैं ?? –

+3

'df.index.values'? –

+0

यदि आप इन्हें मैन्युअल रूप से 'df.set_index()' में पास करने के लिए प्राप्त कर रहे हैं, तो यह अनावश्यक है। बस सीधे 'df.set_index [' your_col_name ', ड्रॉप = गलत] ', पहले से ही करें। – smci

उत्तर

60

Index/MultiIndex के लिए tuple रों की एक list/list रूप index मूल्यों को प्राप्त करने के लिए कार्य करें:

df.index.values.tolist() # an ndarray method, you probably shouldn't depend on this 

या

list(df.index.values) # this will always work in pandas 
+0

धन्यवाद! यह पूरी तरह से काम किया। – TravisVOX

+0

मुझे टाइप एरर मिलता है: 'सूची' ऑब्जेक्ट 'सूची (df.index.values) ' – Bode

+0

@Bode का उपयोग करने के लिए कॉल करने योग्य नहीं है, संभवतः आपके पास स्कोप में' सूची 'नामक एक और चर है। –

-1

आप केवल मैन्युअल df.set_index() में पारित करने के लिए इन मिल रहे हैं , यह अनावश्यक है। पहले से ही df.set_index['your_col_name', drop=False] सीधे करें।

पांडा में यह बहुत दुर्लभ है कि आपको एक पायथन सूची के रूप में एक इंडेक्स प्राप्त करने की आवश्यकता है (जब तक कि आप कुछ बहुत मज़ाकिया नहीं कर रहे हों, या फिर उन्हें वापस NumPy में पास कर दें), तो यदि आप इसे बहुत कुछ कर रहे हैं, तो यह है एक कोड गंध है कि आप कुछ गलत कर रहे हैं।

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