我有一个简单的 ASCII dat 文件,我想将其python作为numpy数组导入。dat 文件 (a.dat) 看起来像:
1.0000000e+00 2.0000000e+00
3.0000000e+00 4.0000000e+00
我遇到的问题是我使用pandas.read_table导入文件
a=pd.read_table('a.dat',header=None)
当我使用 a.values
结果是
array([[' 1.0000000e+00 2.0000000e+00'],
[' 3.0000000e+00 4.0000000e+00']], dtype=object)
问题是浮点数被解释为字符串。我的实际数据文件比这个简单的矩阵大得多,因此将字符串转换为浮点数的后期处理可能不是很有效。
奇怪的是,我什dtype=np.float至无法指定,因为它说:
TypeError: Cannot cast array from dtype('O') to dtype('float64') according to the rule 'safe'
那么有没有一种直接的方法可以将这种类似矩阵的 dat 文件导入到numpy浮点数组中?
任何意见和想法表示赞赏。谢谢!
相关分类