Kev*_*vin 1 python arrays numpy
我有两个数组,我想逐行比较(这是观察)并获得匹配的总行数.
这是我的数据:
Array1
Out[207]:
array([[ 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[ 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 1., 0., 0., 0., 0., 0., 0.]])
Array2
Out[208]:
array([[ 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[ 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 1., 0., 0., 0., 0., 0., 0.]])
Run Code Online (Sandbox Code Playgroud)
我有这个基本的for循环
arr = []
for i in range(0, 5):
arr.append((Array1[i,] == Array2[i,]).all())
arr
Out[210]: [True, True, True, True, True]
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
np.all有一个轴参数.您可以传递,axis=1以便比较沿着行.
(arr1 == arr2).all(axis=1)
Out[24]: array([ True, True, True, True, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1678 次 |
| 最近记录: |