Return 通过提供另外两个列表从数组中获取一个列表
Return a list from an array by providing two more lists
我有这样一个数据框:
a b c
2 100.0 0.0 0.0
23 200.0 1.0 0.0
44 300.0 2.0 0.0
65 400.0 3.0 0.0
86 500.0 4.0 0.0
107 600.0 5.0 -0.5
128 700.0 6.0 0.0
149 800.0 7.0 0.0
170 900.0 8.0 0.0
我想为给定的 a 和 b 列表找到 c 中的对应值。
例如,给定 a = [100.0, 600.0, 200.0] 和 b = [0.0, 5.0, 1.0] 我想要 c = [0.0, -0.5, 0.0].
我发现一个有趣的 link(见下文)但它仅适用于独特的一对数据,例如 (100.0, 0.0) 而不适用于数据列表。我不想做一个循环(这在计算上会很昂贵)。
Link :
有人可以帮我解决这个问题吗?
试试这个,创建一个 pd.MultiIndex
然后使用压缩列表的 reindex
生成元组列表:
df.set_index(['a', 'b']).reindex(list(zip(a, b)))['c'].tolist()
输出:
[0.0, -0.5, 0.0]
我有这样一个数据框:
a b c
2 100.0 0.0 0.0
23 200.0 1.0 0.0
44 300.0 2.0 0.0
65 400.0 3.0 0.0
86 500.0 4.0 0.0
107 600.0 5.0 -0.5
128 700.0 6.0 0.0
149 800.0 7.0 0.0
170 900.0 8.0 0.0
我想为给定的 a 和 b 列表找到 c 中的对应值。 例如,给定 a = [100.0, 600.0, 200.0] 和 b = [0.0, 5.0, 1.0] 我想要 c = [0.0, -0.5, 0.0].
我发现一个有趣的 link(见下文)但它仅适用于独特的一对数据,例如 (100.0, 0.0) 而不适用于数据列表。我不想做一个循环(这在计算上会很昂贵)。
Link :
有人可以帮我解决这个问题吗?
试试这个,创建一个 pd.MultiIndex
然后使用压缩列表的 reindex
生成元组列表:
df.set_index(['a', 'b']).reindex(list(zip(a, b)))['c'].tolist()
输出:
[0.0, -0.5, 0.0]