从数据文件中选择特定行

时间:2015-11-27 19:12:28

标签: python plot data-manipulation

您好,我试图从我的数据文件中提取一些符合我条件的特定行。我的数据文件如下所示:

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的行,然后从该文件中绘制。我认为首先将信息提取到文件而不是绘制它会更容易。如果它可以绘制第一列和第三列而第二列是恒定的,那将是完美的。

2 个答案:

答案 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制作一个散点图。