美文网首页python之路
pandas的数据透视表

pandas的数据透视表

作者: 非鱼2018 | 来源:发表于2021-08-07 12:19 被阅读0次

    import pandas as pd
    df=pd.read_excel(r'd:\data.xlsx')
    df.head()


    image.png

    透视表

    res=pd.pivot_table(df,index=['城市','地区'],values=['价格','利润'],aggfunc='mean')
    res.head()

    image.png

    result4 = pd.pivot_table(df,index=['城市'],columns=['商品名称'],aggfunc=['sum'],values=['价格'],margins=True)
    result4.head()

    image.png

    透视表 margins:是否添加行列的总计

    res=pd.pivot_table(df,index=['商品名称'],values=['价格','利润'],aggfunc='sum',columns='城市',margins=True)
    res.head()

    image.png

    使用数据透视表以及seaborn生成条状图

    import pandas as pd
    import matplotlib.pyplot as plt
    import random
    import seaborn as sns
    
    df=pd.read_excel(r'd:\data.xlsx')
    print(df.head(20))
    sns.set_style('darkgrid')
    #whitegird white dark tikes
    plt.rcParams['font.sans-serif'] ='SimHei'
    #数据透视表,aggfunc的方法还有,count-计数、means-评价。max,min等
    df_group=pd.pivot_table(df,values='价格',index='地区',aggfunc='sum').reset_index().sort_values(ascending=False,by='价格')
    f,ax=plt.subplots(figsize=(8,4),dpi=100)
    #设置网格,并虚线显示
    plt.grid(axis='y',ls='--')
    ax.spines['right'].set_visible('False')#删除边框
    ax.spines['top'].set_visible('False')
    name_list=df_group['地区'].values
    name_list=[i[:5] for i in name_list]
    num_list=df_group['价格'].values
    plt.xlabel('地区')
    plt.ylabel('价格')
    bar=plt.bar(range(len(num_list)),num_list,color='rgb',width=0.6)
    colors=['blue','grey','red','k','white','green','pink','grey']#给柱状图设置自定义颜色
    colors=random.sample(colors,len(bar))
    for i in range(len(bar)):
        bar[i].set_color(colors[i])
    for x,y in enumerate(num_list):
        plt.text(x,y,'%s' %y)
    plt.title('地区商品价格表')
    x=range(10)
    plt.xticks(x,name_list,color='blue',rotation=30) #显示标签,并倾斜30度
    #plt.show()
    # fig=sns.lineplot(x='地区',y='价格',hue='地区',data=df_group)#设置图例
    # fig.legend(loc='best',bbox_to_anchor=(1.04,1),ncol=1)
    plt.savefig('top10price.png')
    
    
    image.png

    常用颜色


    image.png

    相关文章

      网友评论

        本文标题:pandas的数据透视表

        本文链接:https://www.haomeiwen.com/subject/scvfvltx.html