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 是極好用的工具
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
