Her iki dizenin ve sayısal değerlerin sütunlarını getiren numpy.genfromtxt kullanarak bir dosyada okuyorum. Yapmam gereken bir şey girişin uzunluğunu tespit etmektir. Her bir dizide okunan birden fazla değerin bulunması koşuluyla, her şey yolunda.Yalnızca bir öğe ile bir numpy dizisinin uzunluğunu nasıl algılar?
Ancak, sonuçta oluşan dizide yalnızca bir öğe varsa, mantık başarısız olur. Burada bir örnek yeniden oluşturabilirsiniz:
import numpy as np
a = np.array(2.3)
len (a) belirten bir hata döndürür: 2 veya daha fazla eleman, len() varsa bir beklendiği gibi
TypeError: len() of unsized object
ancak davranır.
import numpy as np
a = np.array([2.3,3.6])
len (a) bazı garip durum işleme kullanırsanız, bir varlık boş ve bir uzunluğunda olan ayırt edemez, is burada 2
Benim endişe döndürür = 1.
EDIT: @noskio, a = np.array ([2.3]) ayarını önerdi. Sorun şu ki, a'nın gerçek oluşumu numpy.genfromtxt kullanarakdır. Kod şöyle görünür: Sonuç olarak
import numpy as np
indata = np.genfromtxt(some_filename, names=True,dtype=None)
a = indata['one_col_headername']
, InData dosyasında yalnızca bir satır ise, bir 0-d dizidir.
'dizisi ([2])' bir eleman ve 1 boyuta sahip bir dizidir . dizi (2), sıfır dereceli veya sıfır boyutlara sahip bir dizidir. – endolith