python - python numpy矩阵逐行操作:每行中的列
问题描述
如何遍历矩阵并获取每行的列数?如果我有一个矩阵,并且矩阵中的某些元素是 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
解决方案
这可能比 David Wierichs 的建议更快:
import numpy as np
x = np.array([[4, 2, 9, 4], [3, 4, 8, 6], [5, np.nan, 7, 7], [np.nan, 8, np.nan, np.nan]])
y = np.isnan(x).sum(axis=1)
result = -y + x.shape[1]
推荐阅读
- javascript - 仅在推送期间单击事件。角
- python - 如何从 tf.keras.preprocessing.image_dataset_from_directory() 探索和修改创建的数据集?
- python - 如何每次用给定列表的新字符替换字符串中的字符 n 次?
- c# - C#。如何在仍然上传大型请求正文的同时处理服务器响应?
- curl - 如何使用 curl 下载 IP2Location 数据库
- javascript - 量角器中嵌套承诺的返回元素如何
- javascript - 如何从带有条件的javascript中的对象数组中获取值
- c# - 为什么将所有材料都放入 List 时,所有项目都是 null ?以及如何在淡入/淡出时更改对象位置?
- python - Pytorch NN 错误:预期输入 batch_size (64) 与目标 batch_size (30) 匹配
- mysql - 如何增量计算重复实例的数量