python - “numpy.ndarray”对象没有属性“D”
问题描述
import numpy as np
rowlist = np.array([[0, 2, 3, 4, 5], [0, 0, 0, 3, 2], [1, 2, 3, 4, 5], [0, 0, 0, 6, 7], [0, 0, 0, 9, 9]])
new_rowlist = []
rows_left = set(range(len(rowlist)))
col_label_list = sorted(rowlist[0].D, key=hash)
for c in col_label_list:
rows_with_non_zero = [ r for r in rows_left if rowlist[r][c] != 0 ]
if rows_with_non_zero != []:
pivot = rows_with_non_zero[0]
new_rowlist.append(rowlist[pivot])
rows_left.remove(pivot)
for r in new_rowlist:
print(r)
所以我正在关注 Philip Klein 的 Coding the Matrix 书籍课程和关于高斯消除的一章,这一直在出错 'numpy.ndarray' 对象没有属性 'D' 我想要的是能够对矩阵进行排序称为行列表。知道如何克服这个问题吗?如果有任何帮助,我会在 jupyter notebook 上执行此操作提前谢谢!
解决方案
有一个错字。没有rowlist[0].D
,改行如下
col_label_list = sorted(rowlist[0], key=hash)
此外,也许从下一次作为一个学习过程开始,尝试通过定位导致错误的行来自己调试代码(如果您正确阅读了错误消息)。
推荐阅读
- android - 我遇到适配器问题。任何人都可以知道解决方案
- python - 为什么这个函数对于同一个变量但是同一个地址有不同的值?
- java - java中具有空格的文本文件中的二维char数组
- c# - 静态构造函数注册对象构造函数 => 未调用
- python-3.x - 用python 3中的其他值替换模式匹配部分
- ansible - 来自 JSON 的 Ansible 嵌套循环
- asp.net-mvc - “构建任务找不到运行 TypeScript 编译器所需的 node.exe。” 更新 Boostrap 后发生
- php - 当应用程序正在运行通知接收但在应用程序关闭时无法从 FCM 接收通知
- django-allauth - 即使社交帐户存在,也允许用户使用 django-all-auth 注册,然后自动连接两者
- javascript - 找不到模块:错误:无法解析“/Users/username/Documents/Privat/ionic3-barcodev3/src/app/home”中的“./home.html”