Python numpy 判断0 矩阵,判断某个值(a)是否在矩阵中
百度找 这个需求, 发现没有一种比较简单的解决方式;很多给的答案是要用 循环的方式解决,我觉得不好。
所以写了 一个简单的方式。
# 定义一个矩阵,判断是否是零矩阵
import
numpy
as
np
A
=
np
.
zeros
(
(
600
,
600
)
)
"""
numpy 中有个where 的功能,是发现某个值(a)得位置。如果没发现返回空矩阵
"""
#判断是否是零矩阵
if
np
.
where
(
A
!=
0
)
[
0
]
.
shape
[
0
]
==
0
:
print
(
'this is a zeros matrix'
)
else
:
print
(
'this is not a zeros matrix'
)
# 定义一个矩阵,某个值是否在其中
import
numpy
as
np
A
=
np
.
zeros
(
(
600
,
600
)
)
a
=
1
A
[
300
,
300
]
=
1
"""
numpy 中有个where 的功能,是发现某个值(a)得位置。如果没发现返回空矩阵
"""
#判断是否是零矩阵
if
np
.
where
(
A
==
a
)
[
0
]
.
shape
[
0
]
==
0
:
print
(
'%d is not in your matrix'
%
a
)
else
:
print
(
'the first location of value %d in your matrix is (%d,%d)'
%
(
a
,
np
.
where
(
A
==
a
)
[
0
]
[
0
]
,
np
.
where
(
A
==
a
)
[
1
]
[
0
]
)
)
所以 这个值有几个 还需要再循环么???
np.where 是极好用的工具