gpt4 book ai didi

python - 使用 Numpy 数组作为查找表

转载 作者:太空狗 更新时间:2023-10-29 20:52:55 26 4
gpt4 key购买 nike

我有一个从 .csv 文件中读取的二维 Numpy 数据数组。每行代表一个数据点,最后一列包含一个“键”,它唯一对应于另一个 Numpy 数组中的“键”——可以说是“查找表”。

将第一个表中的行与第二个表中的值匹配的最佳(最 Numpythonic)方法是什么?

最佳答案

一些示例数据:

import numpy as np

lookup = np.array([[ 1. , 3.14 , 4.14 ],
[ 2. , 2.71818, 3.7 ],
[ 3. , 42. , 43. ]])

a = np.array([[ 1, 11],
[ 1, 12],
[ 2, 21],
[ 3, 31]])

在查找表中构建从键到行号的字典:

mapping = dict(zip(lookup[:,0], range(len(lookup))))

然后你可以使用字典来匹配行。例如,如果您只想连接表:

>>> np.hstack((a, np.array([lookup[mapping[key],1:] 
for key in a[:,0]])))
array([[ 1. , 11. , 3.14 , 4.14 ],
[ 1. , 12. , 3.14 , 4.14 ],
[ 2. , 21. , 2.71818, 3.7 ],
[ 3. , 31. , 42. , 43. ]])

关于python - 使用 Numpy 数组作为查找表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3522946/

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