genfromtxt-dtype=None未获取2d数组



我用这一行读取文件

data_train = np.genfromtxt(filename, delimiter=' ', autostrip=True, dtype=float, missing_values="", filling_values='0')

由于列的值可能不共享相同的类型,所以我得到了一个一维数组。如果我使用dtype=None也是一样)。但是,这些值要么是整数,要么是浮点值,要么缺少值。

我可以解决这个问题并获得一个2d数组吗?

例如:

1, 2, 3, 4, 3.3, , 2.2, 1  
1.1, 2.2, 4, , , , ,

您可以使用:

np.nan_to_num(np.genfromtxt('test.txt', delimiter=','))

其中np.nan_to_num()通过0转换将在您有丢失数据的地方创建的nan条目,例如:

array([[ 1. ,  2. ,  3. ,  4. ,  3.3,  0. ,  2.2,  1. ],
       [ 1.1,  2.2,  4. ,  0. ,  0. ,  0. ,  0. ,  0. ]])

编辑:正如@unsubu、@Warren Weckesser和下面的讨论所澄清的那样,根据你的系统,你可以简单地做(对我来说,在这里下载的Windows 7 64位、Python 2.7.8 64位和NumPy 1.9.0上,它不起作用):

np.genfromtxt('test.txt', filling_values=0, delimiter=',')

相关内容

  • 没有找到相关文章

最新更新