gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 06:02:58 25 4
gpt4 key购买 nike

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

此外,我想获得某个 y 值对应的 x 值。我试过

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

我期望 x_value 为 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 开始):

arr[1,0] == 2 # True!

您可以找到对应于给定 y 值的 x 值:

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

索引将返回一个数组,但如果 y_val 是唯一的,则 x_vals 将只有一个值。如果您事先知道 y_val 只有一个匹配项,您可以将 [0] 添加到索引的末尾,这样您就可以获得第一个结果。

关于Python - 从文件中的列创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23769007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com