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函数
在这里插入图片描述

筛选满足条件的并排行

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值