根据报错:raise ValueError("If using all scalar values, you must pass an index") ValueError: If using all scalar values, you must pass an index,修改代码错误: plt.plot(pre_array, 'g') plt.plot(test_labels, "r") df = pd.DataFrame({'pre_array': pre_array, 'test_labels': test_labels}) sns.lineplot(data=df, x="pre_array", y="test_labels", hue="event") plt.title('LSTM test mae: ' + str(loss_mae.item())) plt.savefig("lstm_test.png") plt.show()
时间: 2024-03-07 13:50:01 浏览: 51
根据错误信息,您需要为 DataFrame 传递一个索引。您可以使用 `range()` 函数生成一个整数索引,代码如下:
```python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# define event
event = ["event"] * len(pre_array)
# create dataframe with index
df = pd.DataFrame({'pre_array': pre_array, 'test_labels': test_labels}, index=range(len(pre_array)))
# plot the data
plt.plot(pre_array, 'g')
plt.plot(test_labels, "r")
sns.lineplot(data=df, x="pre_array", y="test_labels", hue="event")
plt.title('LSTM test mae: ' + str(loss_mae.item()))
plt.savefig("lstm_test.png")
plt.show()
```
在这个版本的代码中,我们使用 `range()` 函数生成了一个长度为 `len(pre_array)` 的整数索引,并将其传递给 DataFrame 的 `index` 参数。这样,您的 DataFrame 就有了一个索引,就不会再出现 "If using all scalar values, you must pass an index" 的错误了。
阅读全文