比方说,我们有一个pandas DataFrame:
df = pd.DataFrame(np.array([[1,2,3,4,5],[3,4,5,6,7]]).T, columns=['a','b'])
print(df)
给了我:
a b
0 1 3
1 2 4
2 3 5
3 4 6
4 5 7
如果我尝试在'b'列上绘制'a'列,我可以非常简单地执行:
df.plot(x='a', y='b')
plt.show()
所以我确实得到了我的图表。
但如果我在列上有一个带有MultiIndex的DataFrame,那么我有一个问题:
df = pd.DataFrame(np.array([[1,2,3,4,5],[3,4,5,6,7]]).T, columns=[['a','b'],['y','w']])
print(df)
给了我:
a b
y w
0 1 3
1 2 4
2 3 5
3 4 6
4 5 7
所以,如果我现在这样做:
df.plot(x=['a','y'], y=['b','w'])
plt.show()
我收到以下错误:
File "pandas/_libs/index.pyx", line 117, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 139, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 1265, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 1273, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'y'
我做错了吗?
或者当使用MultiIndex时,pandas无法绘制?