我有一个包含两列的数据框column_1 column_2["apple","orange"] ["orange", "apple"]["banana"] ["apple"]我想要一个结果列,它会column_2告诉column_1. 如果不存在则返回 -1。例如:输出将是output_column[1,0][-1]
1 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
如果您的子列表很小:
df['output_column'] = df.apply(lambda x:[x.column_1.index(item) if item in x.column_1 else -1 for item in x.column_2],axis=1)
如果您的子列表很大:
df['output_column'] = df.apply(lambda x:[dict((value,idx) for idx,value in enumerate(x.column_1)).get(item,-1) for item in x.column_2],axis=1)
输出:
column_1 column_2 output_column
0 [apple, orange] [orange, apple] [1, 0]
1 [banana] [apple] [-1]
添加回答
举报
0/150
提交
取消