【问题标题】:'numpy.ndarray' object has no attribute 'D'“numpy.ndarray”对象没有属性“D”
【发布时间】:2021-06-14 00:22:33
【问题描述】:
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' 我想要的是能够对名为 rowlist 的矩阵进行排序。知道如何克服这个问题吗?如果有任何帮助,我会在 jupyter notebook 上这样做 提前致谢!

【问题讨论】:

  • 你写错了。 D 在第 6 行
  • 如果你已经阅读并注意了完整的错误信息和堆栈跟踪,你就不会问了

标签: python numpy math matrix jupyter


【解决方案1】:

有错别字。没有rowlist[0].D,换行如下​​

col_label_list = sorted(rowlist[0], key=hash)

另外,也许从下一次开始,作为一个学习过程,通过定位导致错误的行来尝试自己调试代码(如果您正确阅读了错误消息)。

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 2020-02-21
    • 2020-12-08
    • 2019-12-10
    • 2017-07-10
    • 2020-05-10
    • 2019-11-04
    • 2017-05-24
    • 2017-12-17
    相关资源
    最近更新 更多