Python-从文件中的列创建数组

Python-从文件中的列创建数组,python,arrays,numpy,Python,Arrays,Numpy,我有一个两列n行的文本文件。通常我使用x,y=np.loadtxt('data',usecols=(0,1),unpack=True)处理两个单独的向量,但我希望将它们作为一个数组,形式为array=[[a,1],[b,2],[c,3]…][/code>,其中所有字母对应于x向量,数字对应于y向量,这样我就可以问一些类似array[0,2]=b。我试着定义 array[0,:]=x但我没有成功。有什么简单的方法吗 另外,我想得到某个y值对应的x值。我试过了 x_value=np.argwhere

我有一个两列n行的文本文件。通常我使用
x,y=np.loadtxt('data',usecols=(0,1),unpack=True)
处理两个单独的向量,但我希望将它们作为一个数组,形式为
array=[[a,1],[b,2],[c,3]…][/code>,其中所有字母对应于x向量,数字对应于y向量,这样我就可以问一些类似
array[0,2]=b
。我试着定义
array[0,:]=x
但我没有成功。有什么简单的方法吗

另外,我想得到某个y值对应的x值。我试过了

x_value=np.argwhere(array[:,1]==3)

我希望x_值是c,因为它对应于第1列中的3,但它也不起作用。

我认为您不需要解压缩从
loadtxt
返回的数组。做:

arr = np.loadtxt('data', usecols=(0,1))
如果您的文件包含:

0 1
2 3
4 5
arr
将类似于:

[[0, 1],
 [2, 3],
 [4, 5]]
请注意,要索引到此数组中,需要首先指定行(索引从0开始):

您可以通过以下方式找到与给定的
y
值相对应的
x
值:

x_vals = arr[:,0][arr[:,1]==y_val]
索引将返回一个数组,但如果
y\u val
是唯一的,则
x\u val
将只有一个值。如果您事先知道
y_val
只有一个匹配项,您可以将
[0]
附加到索引的末尾,这样您就得到了第一个结果

x_vals = arr[:,0][arr[:,1]==y_val]