我正在尝试使用2列CSV文件制作一个简单的条形图。一列是x轴名称,另一列是将用于条的实际数据。 CSV如下所示:
count,team
21,group1
15,group2
63,group3
22,group4
42,group5
72,group6
21,group7
23,group8
24,group9
31,group10
32,group11
我正在使用以下代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.read_csv("sampleData.csv",sep=",").set_index('count')
d = dict(zip(df.index,df.values.tolist()))
df.plot.bar(x = 'count', y = 'team')
print(d)
但是,我得到一个错误
KeyError:此行的“计数”: df.plot.bar(x ='count',y ='team')
我不知道存在的东西有什么错误。
答案 0 :(得分:1)
将count
设置为索引时,DataFrame中仅剩下一列,即team
。请勿将count
设置为索引,并切换x和y值的顺序以绘制条形图
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.read_csv("sampleData.csv", sep=",")
df.plot.bar(x = 'team', y = 'count')
Matplotlib解决方案
plt.bar(df['team'], df['count'])
plt.xticks(rotation=45) # Just rotating for better visualizaton