您好,我试图从我的数据文件中提取一些符合我条件的特定行。我的数据文件如下所示:
10.0 950.0 123.315408 416.684182 60.0000004
10.0 900.0 125.687425 416.420677 60.0000004
10.0 875.0 126.577457 416.252579 60.0000004
12.0 950.0 122.791462 416.899612 60.0000004
12.0 925.0 124.181433 416.78099 60.0000004
我想打印出第二列的值为950.0的行,然后从该文件中绘制。我认为首先将信息提取到文件而不是绘制它会更容易。如果它可以绘制第一列和第三列而第二列是恒定的,那将是完美的。
答案 0 :(得分:0)
您的数据未与标签分开,请检查一次。 请试试这个
x=[]
y=[]
for line in open("data.dat"):
if line.split()[1]=='950.0':
newdata.write(line)
x.append(line.split()[1])
答案 1 :(得分:0)
使用numpy非常容易。 numpy.loadtxt()
将整个数据文件导入为2D numpy数组。然后,您可以创建另一个仅包含第二列具有numpy.select()
值的行的数组。您可以将此数组从行列表转换为具有numpy.transpose()
的列列表,这样可以轻松选择第一列和第三列,如下所示:
x=transposed_arr[0]
y=transposed_arr[2]
然后用matplotlib制作一个散点图。