2016-10-20 17 views
22

के अंतिम स्तंभ मैं इस सवाल का जवाब के लिए कुछ खोज किया है का चुनाव कैसे करें, लेकिन सभी मैं पता लगा सकते हैं यह है और धीमा?)।dataframe

स्तंभ का नाम निर्दिष्ट किए बिना एक पांडा dataframe में अंतिम स्तंभ के लिए डेटा का चयन करने के लिए सबसे आसान तरीका क्या है?

df[df.columns[-1]] 

उत्तर

37

उपयोग iloc और पिछले के खिलाफ सभी पंक्तियों (:) का चयन करें:

5

अपने मूल प्रयास करने के लिए कुछ हद तक समान है, लेकिन अधिक pythonic, पायथन के मानक नकारात्मक अनुक्रमण सम्मेलन का उपयोग करने के अंत से पीछे की ओर गिनती करने के लिए है स्तंभ (-1):

df.iloc[:,-1] 
2
df.T.iloc[-1] 

df.T.tail(1) 

pd.Series(df.values[:, -1], name=df.columns[-1]) 
+1

मैं numpy से बाहर स्पष्ट रूप से सीरीज के निर्माण के किसी भी मूल्य नहीं दिख रहा है एक सीधा कॉल – Boud

+0

iloc करने की तुलना में निष्कर्षण मूल्यों @ जोर से, ऐसा करने के कई तरीके हैं। मैं बस एक गुच्छा नीचे डंप करने की कोशिश कर रहा था। माना जाता है कि तीसरा विकल्प सबसे कमजोर है। – piRSquared

1

यह एक और तरीका यह करने के लिए है। मुझे लगता है कि शायद थोड़ा और सामान्य:

df.ix[:,-1] 
+0

इस मामले में, अपने जवाब की सलाह नहीं दी क्योंकि सवाल * पिछले * स्तंभ जो सूचकांक स्थान आधारित है के लिए स्पष्ट रूप से पूछता है। 'ix' लेबल और इंडेक्स स्थान एक्सेसर मिश्रण करता है। अधिक के लिए [यहां] (http://stackoverflow.com/questions/31593201/pandas-iloc-vs-ix-vs-loc-explanation) देखें। – pansen

1

प्रश्न यह है कि: डेटाफ्रेम के अंतिम कॉलम का चयन कैसे करें? Appart @piRSquared, कोई भी सवाल का जवाब नहीं देता है।

अंतिम स्तंभ के साथ एक dataframe प्राप्त करने के लिए सबसे आसान तरीका है:

df.iloc[ :, -1:]