我有一个包含两列的数据框-col1和col2,但是当我使用df.plot.barh
时,绘图以col2和col1的顺序返回结果。有没有办法让绘图以col1和col2顺序显示结果?
答案 0 :(得分:0)
ff = pandas.DataFrame()
for record in range(nrecords):
n = len(dd[record]['resident'])
df = {
'resident_link' : [k['link'][0] for k in dd[record]['resident']],
'resident_name' : [k['name'][0] for k in dd[record]['resident']],
'city_url' : n * [dd[record]['city']['url']],
'city_name' : n * [dd[record]['city']['name'][0]],
'rank' : n * [dd[record]['rank']]
}
df = pandas.DataFrame(df)
ff = ff.append(df).reset_index(drop = True)
将产生以下结果:
代替使用bar():
df = pd.DataFrame(np.random.randint(0,10,(5,2)), columns=['col1','col2'])
df.plot.barh()
在这两种情况下,col1首先是因为它最接近x轴。要颠倒列的顺序,您需要颠倒它们在数据框中出现的顺序。对于仅两列,您可以使用:
df = pd.DataFrame(np.random.randint(0,10,(5,2)), columns=['col1','col2'])
df.plot.bar()