python - 比较二维数组
问题描述
我想编写一个代码,它输出数组值的相似性a,b,c
。我希望代码检查数组之间是否有任何相似的值。我将b and c
与a
. 所以[ 0, 1624580882]
比较时存在a
等等b
。两列必须相等才能进行比较。
import numpy as np
a= np.array([[ 0, 1624580882],
[ 1, 1624584458],
[ 0, 1624589467],
[ 1, 1624592213],
[ 0, 1624595336],
[ 1, 1624596349]])
b= np.array([[ 1, 1624580882],
[ 1, 1624584460],
[ 1, 1624595336],
[ 1, 1624596349]])
c = np.array([[ 0, 1624580882],
[ 1, 1624584458],
[ 0, 1624589495],
[ 1, 1624592238],
[ 0, 1624595336],
[ 1, 1624596349]])
预期输出:
b comparison
Similarities= None
c comparison
Similarities= [ 0, 1624580882],[ 1, 1624584464], [ 0, 1624595350],[ 1, 1624596380]
解决方案
我不是给你实际的解决方案,而是我可以帮助你一个简单的功能。您可以根据该功能设计其余代码。
def compare_arrays(arr_1, arr_2):
result = []
for row in arr_1:
result.append(row in arr_2)
return result
编辑:
用于获取重复值的索引。
from numpy.lib import recfunctions as rfn
ndtype = [('a', int)]
a = np.ma.array([1, 1, 1, 2, 2, 3, 3],mask=[0, 0, 1, 0, 0, 0, 1]).view(ndtype)
rfn.find_duplicates(a, ignoremask=True, return_index=True)
推荐阅读
- python - 使用 lambda,过滤器根据列表键值从字典中提取值
- node.js - 显示 ValidationException 的 AWS Lambda 更新函数
- javascript - 为什么 post 方法中未定义数据
- python - 如何找到关注两个相同页面 Instagram 的关注者
- javascript - 防止在对象集包含时覆盖 Cloud Function 中的 createdAt 和 updatedAt
- c# - 在领域查询中使用 Contains()
- sql - 怎么修?消息 515,级别 16,状态 2,行 2 无法将值 NULL 插入列,列不允许空值。插入失败
- ios - Nativescript IoS Listview 动态高度元素
- codepen - 在 codepen 上,我怎么知道一支笔是公开的?
- python - 删除行 < x 以在 Pandas 中创建绘图