如何使用pandas在python中将ascii dat文件作为浮点数而不是字符串导入

我有一个简单的 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浮点数组中?


任何意见和想法表示赞赏。谢谢!


皈依舞
浏览 235回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python