我需要将.dat文件导入到2d数组中,在数据开始之前文件中有15行文本,用空格分隔。一旦导入我必须从数据中绘制消除噪声,但是,我似乎无法正确导入数据。
这是我的尝试
import numpy as np
data = np.array
def ProcessData(data):
data = np.loadtxt("myfile.dat", delimiter = " ", skiprows = 15)
print data
ProcessData(data)
>>>ValueError: invalid literal for float(): 10.0 0.0
10.0和0.0是每列数据的前两个值。 任何人都可以指出可能出错的地方吗?
答案 0 :(得分:0)
请勿使用delimiter = " "
。使用默认值delimiter=None
。然后,任何空格块都被视为数据字段的分隔符。
当您使用delimiter=" "
时,每个空间都很重要,因此"1 2"
之类的行包含字段'1'
,''
, ''
,'2'
。使用delimiter=None
时,这三个空格将被视为单个分隔符。
在您的情况下,我怀疑文件中的字段是由制表符分隔的,而不是空格。选项卡也是空格,因此当您使用delimiter=None
时,它将被视为分隔符。