在Python中怎么实现员工基本数据的可视化效果

Admin 2022-07-01 群英技术资讯 326 次浏览

今天就跟大家聊聊有关“在Python中怎么实现员工基本数据的可视化效果”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“在Python中怎么实现员工基本数据的可视化效果”文章能对大家有帮助。

一、实验目的

(1)熟练使用Counter类进行统计
(2)掌握pandas中的cut方法进行分类
(3)掌握matplotlib第三方库,能熟练使用该三方库库绘制图形

二、实验内容

采集到的数据集如下表格所示:

三、实验要求

1.按照性别进行分类,然后分别汇总男生和女生总的收入,并用直方图进行展示。

2.男生和女生各占公司总人数的比例,并用扇形图进行展示。

3.按照年龄进行分类(20-29岁,30-39岁,40-49岁),然后统计出各个年龄段有多少人,并用直方图进行展示。

import pandas as pd
import matplotlib.pyplot as plt
from collections import Counter

info = [{"name": "E001", "gender": "man", "age": "34", "sales": "123", "income": 350},
        {"name": "E002", "gender": "feman", "age": "40", "sales": "114", "income": 450},
        {"name": "E003", "gender": "feman", "age": "37", "sales": "135", "income": 169},
        {"name": "E004", "gender": "man", "age": "30", "sales": "139", "income": 189},
        {"name": "E005", "gender": "feman", "age": "44", "sales": "117", "income": 183},
        {"name": "E006", "gender": "man", "age": "36", "sales": "121", "income": 80},
        {"name": "E007", "gender": "man", "age": "32", "sales": "133", "income": 166},
        {"name": "E008", "gender": "feman", "age": "26", "sales": "140", "income": 120},
        {"name": "E009", "gender": "man", "age": "32", "sales": "133", "income": 75},
        {"name": "E010", "gender": "man", "age": "36", "sales": "133", "income": 40}
        ]


# 读取数据
def get_data():
    df = pd.DataFrame(info)#DataFrame是一个以命名列方式组织的分布式数据集
    df[["age"]] = df[["age"]].astype(int)  # 数据类型转为int
    df[["sales"]] = df[["sales"]].astype(int)  # 数据类型转为int
    return df


def group_by_gender(df):
    var = df.groupby('gender').sales.sum()#groupby将元素通过函数生成相应的Key,数据就转化为Key-Value格式,之后将Key相同的元素分为一组
    fig = plt.figure()
    ax1 = fig.add_subplot(211)#2*1个网格,1个子图
    ax1.set_xlabel('Gender')  # x轴标签
    ax1.set_ylabel('Sum of Sales')  # y轴标签
    ax1.set_title('Gender wise Sum of Sales')  # 设置图标标题
    var.plot(kind='bar')
    plt.show()  # 显示


def group_by_age(df):
    age_list = [20, 30, 40, 50]
    res = pd.cut(df['age'], age_list, right=False)
    count_res = pd.value_counts(res)
    df_count_res = pd.DataFrame(count_res)
    print(df_count_res)
    plt.hist(df['age'], bins=age_list, alpha=0.7)  # age_list 根据年龄段统计
    # 显示横轴标签
    plt.xlabel("nums")
    # 显示纵轴标签
    plt.ylabel("ages")
    # 显示图标题
    plt.title("pic")
    plt.show()


def gender_count(df):
    res = df['gender'].value_counts()
    df_res = pd.DataFrame(res)
    label_list = df_res.index

    plt.axis('equal')
    plt.pie(df_res['gender'], labels=label_list,
            autopct='%1.1f%%',
            shadow=True,  # 设置阴影
            explode=[0, 0.1])  # 0 :扇形不分离,0.1:分离0.1单位
    plt.title('gender ratio')
    plt.show()

    print(df_res)
    print(label_list)


if __name__ == '__main__':
    data = get_data()
    group_by_gender(data)
    gender_count(data)
    group_by_age(data)




感谢各位的阅读,以上就是“在Python中怎么实现员工基本数据的可视化效果”的内容了,经过本文的学习后,相信大家对在Python中怎么实现员工基本数据的可视化效果都有更深刻的体会了吧。这里是群英网络,小编将为大家推送更多相关知识点的文章,欢迎关注! 群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服