2012-11-22 14 views
10

का उपयोग कैसे करें मुझे फ़ंक्शन numpy.append का उपयोग करने में कोई समस्या है। मैं कोड का एक बड़ा टुकड़ा है, हालांकि, मेरी त्रुटि folowing में reproduced है के भाग के रूप में निम्नलिखित समारोह लिखा है:फ़ंक्शन numpy.append

data = [ 
     [ 
      '3.5', '3', '0', '0', '15', '6', 
      '441', 'some text', 'some more complicated data' 
     ], 
     [ 
      '4.5', '5', '1', '10', '165', '0', 
      '1', 'some other text', 'some even more complicated data' 
     ] 
     ] 

def GetNumpyArrey(self, index): 
    r = np.array([]) 
    for line in data: 
     np.append(r, float(line[index])) 

    print r 

सूचकांक < 6. परिणाम है:

>> [] 

क्या क्या मैं गलत कर रहा हूँ?

बहुत बहुत धन्यवाद!

+2

http://stackoverflow.com/questions/5064822/numpy-how-to-add-items-into-an-array – avasal

+0

जैसा कि @ ब्रेनबर्न बताते हैं, यहां 'numpy.append' का उपयोग करने का कोई कारण नहीं है। करने के लिए सबसे कुशल बात प्रारंभ में 'आर' को 'लेन (डेटा) 'आवंटित की जाती है। यदि आप अग्रिम लंबाई (जैसे फ़ाइल से पढ़ना) नहीं जानते हैं, तो एक सूची बनाने और एक सरणी में कनवर्ट करने के लिए @ ब्रेनबर्न का सुझाव सबसे अच्छा है। – DaveP

उत्तर

24

सूची append विधि के विपरीत, numpy's append जगह में शामिल नहीं है। यह अतिरिक्त तत्वों के साथ एक नई सरणी देता है। तो आपको r = np.append(r, float(line[index])) करना होगा।

इस तरह से numpy arrays का निर्माण अक्षम है, हालांकि। पाइथन सूची के रूप में अपनी सूची बनाने के लिए बेहतर है और फिर अंत में एक numpy सरणी बनाओ।

+0

धन्यवाद! वह बहुत उपयोगी था! –

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

  • कोई संबंधित समस्या नहीं^_^