plt.plot(np.arange(1, len(codons) + 1), AUCmeans.loc[t, :], marker='.', color=color, lw=2, label=t),报错:Multi-dimensional indexing (e.g. `obj[:, None]`) is no longer supported. Convert to a numpy array before indexing instead.
时间: 2023-11-29 21:07:12 浏览: 130
这个错误提示是因为`AUCmeans.loc[t, :]`这里的`:`是一个多维索引(即列索引),而Pandas不再支持使用多维索引进行数据选择。解决方法是将这个多维索引转换成一个numpy数组,然后再使用单维索引选择数据。
可以尝试使用以下代码来解决这个问题:
```
plt.plot(np.arange(1, len(codons) + 1), AUCmeans.loc[t].values, marker='.', color=color, lw=2, label=t)
```
这里使用了`.values`将`AUCmeans.loc[t]`转换成一个numpy数组,然后使用单维索引选择数据。这样就可以避免多维索引的问题了。
相关问题
plt.figure(figsize=(10,8)) plt.plot(list(np.arange(0,len(data1_0))),data1_0,label='原序列') plt.plot(list(np.arange(0,len(data1_0))),data1_1_3,label='平滑后的序列') plt.title('移动平均法(窗口大小为3个)数据平滑对比图') plt.xlabel('时间序列') plt.ylabel('速度(km/h)') plt.xticks(range(0,110,10)) plt.legend() plt.show() plt.figure(figsize=(10,8)) plt.plot(list(np.arange(0,len(data1_0))),data1_0,label='原序列') plt.plot(list(np.arange(0,len(data1_0))),data1_1_5,label='平滑后的序列') plt.title('移动平均法(窗口大小为5个)数据平滑图') plt.xlabel('时间序列') plt.ylabel('速度(km/h)') plt.xticks(range(0,110,10)) plt.legend() plt.show()如何将两幅图合并
可以使用subplot函数将两幅图合并:
plt.figure(figsize=(10,8))
plt.subplot(2,1,1)
plt.plot(list(np.arange(0,len(data1_0))),data1_0,label='原序列')
plt.plot(list(np.arange(0,len(data1_0))),data1_1_3,label='平滑后的序列')
plt.title('移动平均法(窗口大小为3个)数据平滑对比图')
plt.xlabel('时间序列')
plt.ylabel('速度(km/h)')
plt.xticks(range(0,110,10))
plt.legend()
plt.subplot(2,1,2)
plt.plot(list(np.arange(0,len(data1_0))),data1_0,label='原序列')
plt.plot(list(np.arange(0,len(data1_0))),data1_1_5,label='平滑后的序列')
plt.title('移动平均法(窗口大小为5个)数据平滑图')
plt.xlabel('时间序列')
plt.ylabel('速度(km/h)')
plt.xticks(range(0,110,10))
plt.legend()
plt.show()
阅读全文