从另一列列表中获取一列列表中的项目索引

我有一个包含两列的数据框


column_1                column_2

["apple","orange"]      ["orange", "apple"]

["banana"]              ["apple"]

我想要一个结果列,它会column_2告诉column_1. 如果不存在则返回 -1。例如:输出将是


output_column

[1,0]

[-1]


慕桂英4014372
浏览 115回答 1
1回答

慕尼黑8549860

如果您的子列表很小: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_column0  [apple, orange]  [orange, apple]        [1, 0]1         [banana]          [apple]          [-1]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python