使用熊猫按列顺序显示条形图

时间:2018-12-06 01:04:13

标签: python-3.x pandas

我有一个包含两列的数据框-col1和col2,但是当我使用df.plot.barh时,绘图以col2和col1的顺序返回结果。有没有办法让绘图以col1和col2顺序显示结果?

1 个答案:

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

将产生以下结果:

enter image description here

代替使用bar():

df = pd.DataFrame(np.random.randint(0,10,(5,2)), columns=['col1','col2'])
df.plot.barh()

enter image description here

在这两种情况下,col1首先是因为它最接近x轴。要颠倒列的顺序,您需要颠倒它们在数据框中出现的顺序。对于仅两列,您可以使用:

df = pd.DataFrame(np.random.randint(0,10,(5,2)), columns=['col1','col2'])
df.plot.bar()