您可能可以使用结构化数组管理某些内容:
- 例如names,numbers使用您的两个文件创建两个结构化数组。np.genfromtxt不要忘记使用dtype=None(让np.genfromtxt猜测您的数据类型)和names=True(应该从第一列读取字段名称),可能使用delimiter="\t".
你names会有类似的东西dtype([('Name', '|S7'), ('Adress', '|S16')]),你的类似的numbers东西dtype([('Number', '<i8'), ('Ident', '<i8')])。
之后,只需花哨的索引即可获得您的选择。例如,如果您想要 for 条目的names索引"Unicorn Lane":
    (idx,) = np.nonzero(names['Adress']=="Unicorn Lane")
(np.nonzero应该返回一个带有一个元素的元组,一个索引数组)。以你的例子,idx = array([0])...)
您可以将这些索引用作标识符,请记住,当您的标识符从 1 开始时,它们从 0 开始。因此,要选择与您找到numbers的Ident索引匹配的索引:
numbers[numbers['Ident'] == idx+1]
(请记住,在我们的示例中,idx=array([0])对应于Ident==1...)。
You should check that idx is not empty (idx.size >0). Otherwise idx+1 will be empty too, numbers['Ident']==idx+1 will evaluate to False, and in NumPy, numbers[False] is equivalent to numbers[0].