使用matplotlib错误绘制2列csv列

时间:2019-06-14 13:17:35

标签: python pandas csv graph

我正在尝试使用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')

我不知道存在的东西有什么错误。

1 个答案:

答案 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')

enter image description here

Matplotlib解决方案

plt.bar(df['team'], df['count']) 
plt.xticks(rotation=45) # Just rotating for better visualizaton