2016-03-29 21 views
1

Csv dosyam var. Değerler, 'INFINITE' dizesiyle belirtilen sonsuz değerler hariç, yüzer. Bu değerler herhangi bir sütunda oluşabilir.Pandas read_csv: belirli dizgiyi numpy.inf dosyasına dönüştürün

ben aşağıdakileri yapabilirsiniz numpy genfromtxt işlevinin kullanılması

numpy.inf için 'INFINITE' dize değerleri dönüştürmek istiyorum:

dataparams={'delimiter':"\t", 
      'skip_header':1, 
      'names':True, 
      'missing_values':'INFINITE', 
      'filling_values':np.inf} 

data = np.genfromtxt(file,**dataparams) 

Ben pandalar ile aynı şeyi yapmak istiyorum read_csv .

'INFINITE' dizelerini na_values ​​= 'INFINITE' kullanarak NaN'e dönüştürebilirim ama istediğim bu değil. Pandalar belgeleri pandaların> 0.10'un inf değerlerini desteklediğini gösterir ancak dosyayı okurken dönüşümü nasıl yapacağımı anlayamıyorum. Bunu pandalarda yapmanın kolay bir yolu var mı?

+2

Sanırım ['read_csv'] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html#pandas.read_csv) bunu bir param arg olarak destekliyor ' Bunu bir işlem sonrası adım olarak yapmalı veya bir dönüştürücü fonunu tanımlamalı ve bunu 'dönüştürücüler' paramına iletmeliyiz – EdChum

+2

Ya da sadece 'fillna (np.inf)' işlevini bir sonraki adımı geçtikten sonra 'na_values ​​= 'INFINITE' – EdChum

+0

'INFINITE' ile NaN arasında harita istemiyorum. Veri kümesinde eksik değerler var. Sonsuz değerler ile eksik değerler arasında ayrım yapmak istiyorum. – GeorgeSalt

cevap