当前位置: 首页 > article >正文

4.1 数据分析-excel 基本操作

第四节:数据分析-excel 基本操作

课程目标

  • 学会excel 基本操作

课程内容

数据伪造

产生一份招聘数据

import pandas as pd
from faker import Faker
import random
import numpy as np

# 创建一个Faker实例,用于生成假数据,指定中文本地化
fake = Faker('zh_CN')

# 定义一些可能的公司大小和领域
company_sizes = ['小型', '中型', '大型']
company_fields = ['科技', '金融', '教育', '医疗', '制造']

# 准备数据集
data = []

for i in range(1000):
    city = fake.city_name() if random.random() > 0.1 else np.nan  # 10% 的概率生成缺失值 
    full_name = fake.company()
    company_id = fake.uuid4()
    short_name = full_name[:2]
    size = random.choice(company_sizes)
    job_title = fake.job()
    business_district = fake.street_address()
    department = job_title
    education_requirement = random.choice(['本科', '硕士', '博士', '无要求'])
    field = random.choice(company_fields)
    job_id = fake.uuid4() if random.random() > 0.1 else np.nan  # 10% 的概率生成缺失值
    benefits = ', '.join(random.sample(['五险一金', '带薪年假', '年终奖', '股票期权', '弹性工作'], random.randint(1, 5)))
    
    salary = random.randint(3000, 50000) if random.random() > 0.1 else np.nan  # 10% 的概率生成缺失值 
    experience_required = f"{random.randint(1, 10)}年"
    # 上班时间 8:00-10:00
    start_work_time = f"{random.randint(8, 10)}:00"
    end_work_time = f"{random.randint(18, 20)}:00"

    data.append([city, full_name, company_id, short_name, size, business_district, department, education_requirement, field, job_id, benefits, job_title, salary, experience_required,start_work_time, end_work_time])

# 将数据转换为DataFrame
df = pd.DataFrame(data, columns=[
    '城市', '公司全名', '公司ID', '公司简称', '公司大小', '公司所在商区', '职位所属', '教育要求', '公司所属领域', '职位ID', '职位福利', '职位', '薪水', '工作年限要求',"上班时间","下班时间"
])

# 写入Excel文件
df.to_excel('company_data.xlsx', index=False)
df.to_csv('company_data.csv', index=False)

print("数据已成功写入Excel文件。")
格式化
根据文本自动调整列宽

在这里插入图片描述

数据清洗
缺失值处理
  • 定位缺失值
    分别点击A列,B列,C列…
    在这里插入图片描述
    查看每列字数确定哪些列缺失
    在这里插入图片描述
  • 定位缺失值选中缺失列
    在这里插入图片描述
  • 处理缺失值
    • 删除
      在这里插入图片描述

    • 填充固定值 输入框输入值,按ctrl+enter
      在这里插入图片描述

    • 填充特殊值(平均值,总数,中位数)求出值后,方法同上

数值型
求和

比如我们要求所有薪资总量,使用SUM函数
在这里插入图片描述

求均值

使用AVERAGE函数
在这里插入图片描述

求众数

MODE.SNGL函数
在这里插入图片描述

中位数

函数MEDIAN
在这里插入图片描述

统计数量

COUNT函数
在这里插入图片描述
有值的有896个,说名有缺失值

文本型
查找

比如看下哪些公司有带薪年假,有则为位置,没有则为0,需要FIND函数和IFERROR函数配合使用
在这里插入图片描述

字符长度

如获取福利待遇长度,后面通过该长度对优秀公司排序
LEN函数
在这里插入图片描述

左截取

比如获取公司名字简称,可以用LEFT函数
在这里插入图片描述

右截取

比如要获取公司类型,用RIGHT函数,截取后6个字符
在这里插入图片描述

连接

比如将上下班时间连在一起
CONCATENATE函数
在这里插入图片描述

分析
排行

获取当前福利待遇的排行 RANK函数
在这里插入图片描述

筛选满足条件的并排行

在这里插入图片描述


http://www.kler.cn/news/289365.html

相关文章:

  • Java语言程序设计基础篇_编程练习题**17.21 (十六进制编辑器)
  • LinkedList与链表
  • Java基于微信小程序的实习管理系统
  • C++ 设计模式——中介者模式
  • Django 安装指南
  • notepad++软件介绍(含安装包)
  • 力扣56-合并区间(Java详细题解)
  • Electron 项目实战 02:打包和自动更新
  • Linux下的VLC简介
  • 语言桥梁:探索全球最受欢迎的翻译工具,让理解更简单
  • MySQL复习3
  • 计算机岗位(面试)
  • Apache POl的使用(导出报表)
  • Python Mail:如何设置SMTP服务器发邮件?
  • Java设计模式【观察者模式】-行为型
  • “微服务革命”之后...
  • 机器人外呼有哪些优势?
  • MFC终止线程实例
  • 性能工具之 JMeter ajax 简单登录案例实战
  • 二叉树(数据结构)
  • Elasticsearch 索引模板
  • 编译可执行命令的FFmpeg
  • [STM32]从零开始的STM32 LED教程(小白向)
  • 第十周:机器学习笔记
  • 微信小程序代码 app.json文件详细介绍
  • Apifox使用学习
  • 【华为OD】2024D卷——剩余银饰的重量
  • [CISCN2019 华东南赛区]Web111
  • Java面向对象与继承
  • 【C++】手动实现队列的封装(C++)