2014-01-19 23 views
1

我試圖用「#」數據加載的缺失值使用numpy的genfromtxt有特殊字符的數據加載的缺失值

data

我使用genfromtxt

genfromtxt("data.txt",missing_values="#",filling_values=0) 

,但我不斷收到以下錯誤

raise ValueError(errmsg) ValueError: Some errors were detected ! Line #25 (got 1 columns instead of 5)

我試圖填充t他缺少的值可以在代碼中可以看出以上,但保持這種錯誤

回答

0

你需要指定列分隔符(我假設,你的情況是表格):

genfromtxt(delimiter = "\t") 

而且,你缺失值是missing_values="#.########e+##"

+0

它返回一個150x0矩陣代替150x5和數據由楠更換,所以分隔符不是「\ T」但空間和用空格它給出了一個錯誤 – Zed

+0

仍同樣的錯誤 – Zed

1

默認comments參數genfromtxt#,所以你需要改變它。另外,製作filling_values字符串"0"

例如,

In [30]: !cat data_missing.txt 
1.23e+00 4.56e+01 2.00e+00 
7.89e+01 #.##e+## 3.00e+00 

In [31]: a = np.genfromtxt("data_missing.txt", 
    ....:     comments=None, 
    ....:     missing_values="#.##e+##", 
    ....:     filling_values="0") 

In [32]: a 
Out[32]: 
array([[ 1.23, 45.6 , 2. ], 
     [ 78.9 , 0. , 3. ]])