2016-02-10 12 views
5

मैं एक पांडा dataframe कि मैं सरणी Numpy को इस प्रकार परिवर्तित होते हैं:Convert dataFrame सूची

df.values 

जो निम्नलिखित उत्पादन देता है:

array([[2], 
     [0], 
     [1], 
     ..., 
     [0], 
     [1], 
     [0]], dtype=int64) 

हालांकि मैं सूची प्राप्त करने के लिए इस प्रकार चाहते हैं :

[0, 2, 3] 

कोई विचार यह कैसे करना है?

+0

आप मतलब 'df.values.tolist() '? – EdChum

उत्तर

2

शायद तुम iloc या loc स्तंभ के चयन के लिए और उपयोग कर सकते हैं तो tolist:

print df 
    a 
0 2 
1 0 
2 1 
3 0 
4 1 
5 0 

print df.values 
[[2] 
[0] 
[1] 
[0] 
[1] 
[0]] 

print df.iloc[:, 0].tolist() 
[2, 0, 1, 0, 1, 0] 

या हो सकता है:

print df.values.tolist() 
[[2L], [0L], [1L], [0L], [1L], [0L]] 

print df.iloc[:, 0].values.tolist() 
[2L, 0L, 1L, 0L, 1L, 0L] 

print df.loc[:, 'a'].tolist() 
[2, 0, 1, 0, 1, 0] 

print df['a'].tolist() 
[2, 0, 1, 0, 1, 0] 

लेकिन flatten हो सकता है आप की जरूरत है:

print df.values.flatten() 
[2 0 1 0 1 0] 

print df.iloc[:, 0].values.flatten() 
[2 0 1 0 1 0] 
0

ऐसा लगता है कि आपके पास एक कॉलम और कई पंक्तियों के साथ डेटाफ्रेम है। याद रखें कि यह एक दो आयामी सरणी है, आपको पहले कॉलम को टुकड़ा करना होगा और उसके बाद उस कॉलम के मानों को सूचीबद्ध करना होगा।

यह करना चाहिए:

df[0].values.tolist() 

df[0] - यह प्रथम स्तंभ में सभी मान चयन करता है। दूसरे कॉलम के लिए आप df[1] तीसरे df[2] और इसी तरह का उपयोग करेंगे।

आप df.shape चलाकर अपने डेटाफ्रेम के आकार को बता सकते हैं। यह आपको बताएगा कि आपके डेटाफ्रेम में कितनी पंक्तियां और कॉलम मौजूद हैं उदा। (9,1) जो 9 पंक्तियों और 1 स्तंभ का मतलब