python – 删除零线2-D numpy数组
发布时间:2020-12-20 10:31:39 所属栏目:Python 来源:网络整理
导读:我在numpy中运行qr分解,它返回一个ndarrays列表,即Qand R: [q,r] = np.linalg.qr(np.array([1,1,1]).reshape(3,3)) R是一个二维数组,底部有零线(甚至在我的测试集中的所有例子都证明了这一点): print r[[ 1.41421356 0.70710678 0.70710678] [ 0. 1.224744
我在numpy中运行qr分解,它返回一个ndarrays列表,即Qand R:
>>> [q,r] = np.linalg.qr(np.array([1,1,1]).reshape(3,3)) R是一个二维数组,底部有零线(甚至在我的测试集中的所有例子都证明了这一点): >>> print r [[ 1.41421356 0.70710678 0.70710678] [ 0. 1.22474487 1.22474487] [ 0. 0. 0. ]] .现在,我想将R分成两个矩阵R_~: [[ 1.41421356 0.70710678 0.70710678] [ 0. 1.22474487 1.22474487]] 和R_0: [[ 0. 0. 0. ]] (提取所有零线).它似乎接近这个解决方案:deleting rows in numpy array. 编辑: A := n x m Q := n x m R := n x m 解决方法
将np.all与axis参数一起使用:
>>> r[np.all(r == 0,axis=1)] array([[ 0.,0.,0.]]) >>> r[~np.all(r == 0,axis=1)] array([[-1.41421356,-0.70710678,-0.70710678],[ 0.,-1.22474487,-1.22474487]]) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Python Ethical Hacking - MAC Address & How to Chang
- Python解题技巧!不管你学C还是Java!此篇文章都能帮到你解
- python – 将范围元组列表折叠到重叠范围中
- Python3中,map()函数、fileter()函数、reduce()函数的比较
- python的tkinter布局之简单的聊天窗口实现方法
- Python的面向对象编程方式学习笔记
- Python魔术方法__getitem__、__setitem__、__delitem__、__
- python实现域名系统(DNS)正向查询的方法
- Python实现TCP协议下的端口映射功能的脚本程序示例
- 4.6Python多版本存在问题