如何解决在两个列表列列表之间找到共同的元素?
让我们假设这是我拥有的数据帧:
dw = {'id' : [1,2,3,4,5],'first_item' : [['Motherboard','Miscellaneous'],['Miscellaneous','Mechanical Hardware'],['Motherboard','Hard Drive'],['Mechanical Hardware','Mechanical Hardware']],'second_item' : [['Motherboard','Miscellaneous']]}
dw = pd.DataFrame(dw)
我想找到第一项和第二项之间的交集/公共元素(按行),得到这样的输出:
dw['new']
1 ['Motherboard']
2 ['Mechanical Hardware']
3 ['Motherboard','Hard Drive']
4 ['Mechanical Hardware','Hard Drive']
5 ['Motherboard']
我尝试了以下代码,但未产生预期的结果:
def intersection(lst1,lst2):
return list(set(lst1) & set(lst2))
dw['new'] = dw.apply(lambda x: intersection(dw.first_item,dw.second_item),axis = 1)
解决方法
您可以尝试np.intesect1d
:
dw['new'] = [np.intersect1d(x,y) for x,y in zip(dw.first_item,dw.second_item)]
,
尝试一下
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<a href="javascript:void(0);" data-href="{{ url('admin/product_edit/'.$cat->id) }}" class="edit_product btn btn-sm btn-primary" data-toggle="modal" data-target="#editModal"> Edit</a>
<!-- Modal -->
<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<span id="href"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
我不确定,但是试试看!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。