按索引将pandas数据帧与python列表连接起来



我有一个pandas数据帧和一个数组[index,value]的python列表

我需要通过索引将数据帧和列表连接起来,并选择一个数组列表[i, df['col1'][i]],其中value == 1

伪代码:

f = pd.DataFrame([10, 20 ,30, 40, 50...])
l = [[0, -1], [2, 1], [4, 1], [3, 0]

result = f join l where l.value == 1 select [index, f.value]
result: [[2, 30], [4, 50]]

一个选项:

out = (
pd.DataFrame(l, columns=['A', 'B'])
.loc[lambda d: d.pop('B').eq(1)]
.merge(f, left_on='A', right_index=True)
.values.tolist()
)

或者,通过列表理解:

out = [[a, f.at[a, 0]] for a,b in l if b == 1]

输出:

[[2, 30], [4, 50]]

相关内容

  • 没有找到相关文章

最新更新