【发布时间】:2020-06-20 10:40:19
【问题描述】:
如何遍历矩阵并获取每行的列数?如果我有一个矩阵,并且矩阵中的某些元素是 NaN(空),例如:[[4,2,9,4],[3,4,8,6],[5,NaN,7,7] ,[Nan,8,Nan,Nan]],如何计算行长度?
我试过了:
len(matrix) # number of rows
=len(matrix[0]) # number of columns
但这给了我总数。
所以我想得到一个向量,表示每行中的列数:[4,4,3,1] 例如
我的想法是这样循环:
for i in matrix:
然后是一个循环搜索。但我不知道该怎么做
编辑:我尝试了@wavy 的方法,它奏效了。我可以这样做吗:
# empty list
Final=[]
for i in range(matrix):
columns=np.isnan(matrix).sum(axis=1)
result=-columns+matrix.shape[1]
if result==1:
Final.append(matrix[i])
print(Final)
I also need to put other conditions, when result==2, and when result>2
【问题讨论】:
-
你想在大型矩阵上使用它吗?
-
不,我现在正在尝试使用 3(列)x8(行)矩阵
-
在一个 numpy 数组中,所有列的长度都相同。
np.nan不算“空”。听起来你想计算非 nan 值的数量。这很好,但描述应该更清楚。
标签: python numpy matrix vector