【问题标题】:Python error arrays used as indices must be of integer (or boolean) type用作索引的 Python 错误数组必须是整数(或布尔)类型
【发布时间】:2021-03-03 09:28:42
【问题描述】:

您好,我有以下脚本:

import numpy as np
import matplotlib.pyplot as plt

m = int(input("lenght of t and b.  m = "))

t = 27 * np.random.random( (m, 1) )
b = 27 * np.random.random( (m, 1) )

A = np.ones( (m, 1) )  
A = np.hstack( (A, t) )

x = np.linalg.solve( np.dot(A.T, A), np.dot(A.T, b) ) 
print("x = \n", x) 

t1 = np.linspace ( min(t), max(t), 50) 
b1 = np.polyval(x[::-1, t1]) 
plt.plot(t1, b1)

plt.plot(t, b, "ro")
plt.xlabel("t")
plt.ylabel("b")
plt.show() 

我正在尝试绘制,但出现以下错误“IndexError:用作索引的数组必须是整数(或布尔)类型” 在线:

b1 = np.polyval(x[::-1, t1])

请问我该如何解决?

【问题讨论】:

  • 你没有告诉我们你想用这条线实现什么。也许这只是np.polyval(x[::-1], t1) 的拼写错误,我们不知道。

标签: python numpy matplotlib


【解决方案1】:

当 DataFrame 或 numpy 数组具有 NaN 值时,也可能发生此错误。可以这样修复:

df.fillna(0)

或任何其他合适的fillna() 策略

【讨论】:

    【解决方案2】:

    这样写:

    b1 = np.polyval(x[::-1] ,t1)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      相关资源
      最近更新 更多