2015-10-28 11 views
8

में कनवर्ट करने के लिए कैसे मेरे पास निम्न डेटा फ्रेम केवल एक कॉलम है।पांडा एकल कॉलम डेटा फ्रेम को श्रृंखला या numpy वेक्टर

import pandas as pd 
tdf = pd.DataFrame({'s1' : [0,1,23.4,10,23]}) 

वर्तमान में इसमें निम्न आकार है।

In [54]: tdf.shape 
Out[54]: (5, 1) 

कैसे मैं एक श्रृंखला या एक numpy वेक्टर करने के लिए इसे परिवर्तित कर सकते हैं ताकि आकार बस (5,)

उत्तर

14

आप बस सूचकांक श्रृंखला आप चाहते हैं कर सकते हैं। उदाहरण -

tdf['s1'] 

डेमो -

In [24]: tdf = pd.DataFrame({'s1' : [0,1,23.4,10,23]}) 

In [25]: tdf['s1'] 
Out[25]: 
0  0.0 
1  1.0 
2 23.4 
3 10.0 
4 23.0 
Name: s1, dtype: float64 

In [26]: tdf['s1'].shape 
Out[26]: (5,) 

आप numpy सरणी के रूप में श्रृंखला में मूल्यों चाहते हैं, आप .values एक्सेसर उपयोग कर सकते हैं, उदाहरण -

In [27]: tdf['s1'].values 
Out[27]: array([ 0. , 1. , 23.4, 10. , 23. ]) 
+0

या शायद करने के लिए श्रृंखला आवंटित आगे हेरफेर के लिए एक numpy सरणी, यानी। np.asarray (tdf ['s1']) – Anzel

+3

हाँ, लेकिन मुझे लगता है कि 'tdf [' s1 ']। मान' क्लीनर होगा। –

+0

इसमें निम्न त्रुटि हो सकती है http://stackoverflow.com/questions/39474056/valueerror-object-too-deep-for-desired-array – Keith

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