网络编程
位置:首页>> 网络编程>> Python编程>> python数据分析之员工个人信息可视化

python数据分析之员工个人信息可视化

作者:かみさま7  发布时间:2023-08-05 02:32:26 

标签:python,员工信息,可视化,数据分析

一、实验目的

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

二、实验内容

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

python数据分析之员工个人信息可视化

三、实验要求

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数据分析之员工个人信息可视化
python数据分析之员工个人信息可视化

来源:https://blog.csdn.net/liarfeelings/article/details/116013798

0
投稿

猜你喜欢

  • 如何正确理解和使用Command、Connection和 Recordset三个对象?我知道它们都是连接数据库的“好手”,但在编程的具体应用
  • 这篇文章主要介绍了Oracle数据库到SQL Server数据库主键的迁移过程,具体内容请参考下文。由于项目需要要将以前Oracle的数据库
  • 这段时间写了很多页面代码,除了一些知识重复以外,也学到css的一些新东西,或许是旧东西,但是还是希望能对大家有用。其实在css里面有很多对a
  • 使用数据库的过程中,由于断电或其他原因,有可能导致数据库出现一些小错误,比如检索某些表特别慢,查询不到符合条件的数据等。出现这些情况的原因,
  • jQuery是最近比较火的一个JavaScript库,从del.icio.us/上相关的收藏可见一斑。到目前为之jQuery已经发布到1.2
  • 在 Web 2.0 时代,开发人员和用户都对基于 Web 的应用程序的可用性和响应性抱有很高的期望。除非是在过去的两年内一直没有关注过这个领
  • 在TypeScript 项目中,我们经常需要使用声明一系列的ts类型。然而,手动写的效率实在太低,编写一个自动生成ts类型的工具可以解放生产
  • 本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下。一,docx模块Python可以利用python-
  •     字体的处理在网页设计中无论怎么强调也不为过,毕竟网页使用来传递信息的,而最经典最直接的信息传递方式就是
  • 在 EeePC 上装了个 Mac OS X,相应的开发工具也选择了 Coda。在
  • 这篇文章主要介绍了python列表推导式入门学习解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
  • 一、手指触屏,利用touchstart和touchend计算前后滑动距离,判断是上拉还是下滑。二、js中距离:pageY、clientY、o
  • 前面我们给了Tkinter接管Python输入和输出的介绍,我们不难可以想到,能用Tkinter来开发自己的Python代码编辑器.例如可以
  • b 和 i 标签在现在的 Web 标准潜规则中是不推荐使用,甚至是反对使用的,因为认为他们只是“表现”粗体和斜体,而没有任何“语义”。更多的
  • Go流程控制1、条件语句IF1、简单格式(不支持三目运算符)if 布尔表达式 {  // 执行语句}2、if里面包含多个表达式的时
  •   继续Mootools常用方法扩展,依然还是String类的扩展。方法:format说明:一个非常简单的format方法,和C#
  • 本文实例讲述了php查询whois信息的方法。分享给大家供大家参考。具体如下:这里使用php通过查询whois信息的网站列表进行查询func
  • 读取binlog,方法有二:1.使用mysqlbinlog,详细用法,请参考MySQL手册2.使用MySQL的自带工具,SHOW BINLO
  • 在Python 3.10发布之前,Python是没有类似于其他语言中switch语句的,要实现类似的功能最简单的方法就是通过if ... e
  • Python中列表(list)的实现其实是一个数组,当要查找某一个元素的时候时间复杂度是O(n),使用list.index()方法,但是随着
手机版 网络编程 asp之家 www.aspxhome.com