数据分析作业(三)复习使用pandas进行数据处理的知识点

您所在的位置:网站首页 圈外同学数据分析作业 数据分析作业(三)复习使用pandas进行数据处理的知识点

数据分析作业(三)复习使用pandas进行数据处理的知识点

2024-05-24 05:08| 来源: 网络整理| 查看: 265

利用Python分析自定义数据表字段(工号,姓名,性别,学历,工资,消费,存款) 一、题目描述二、参考代码运行环境使用数据参考代码运行结果

这个的第二部分没有写完,先参考第一部分,有时间我会补上

一、题目描述

复习使用pandas进行数据处理的知识点。 拟建数据,进行处理及绘图。 如数据表字段(工号,姓名,性别[男/女],省份[自定义],学历[大专/本科/硕士/博士],工资[自定义金额],消费[自定义金额],存款[自定义金额])。

要求如下: 1)自定义数据及文件格式。 2)能够存取数据文件。 3)不少于3种数据处理方式(自定义常规处理方法)。 4)根据结果进行绘图(样式不能相同)。

二、参考代码 运行环境

Anconda3.X Spyder(Python 3.7)

使用数据

链接:income.xlsx 提取码:bv4g

参考代码

部分一:数据处理完整代码。

import numpy as np import pandas as pd #pandas读取Excel文件 income = pd.read_excel('./income.xlsx') print(income) #使用groupby方法拆分数据 #按学历划分 incomeGroup = income[['工资','消费','存款']].groupby(by=income['学历']) print(incomeGroup) print(incomeGroup.max()) #使用agg方法聚合数据 #求出incom表中工资与存款的和与均值 print(income[['工资','存款']].agg([np.sum,np.mean])) print('使用aggregate函数:\n',income[['工资','存款']].aggregate([np.sum,np.mean])) #求出incom表中工资总和与存款均值 print(income.agg({'工资':np.sum,'存款':np.mean})) #求出incom表中工资总和与存款的和与均值 print(income.agg({'工资':np.sum,'存款':[np.mean,np.sum]})) #标准化数据:离差标准化,标准差标准化,小数定标标准化数据 #离差标准化 def MinMaxScale(data): data = (data-data.min())/(data.max()-data.min()) return data #对工资和消费做离差标准化 ''' data1 = MinMaxScale(income['工资']) data2 = MinMaxScale(income['消费']) data_M = pd.concat([data1,data2],axis=1) ''' data_M = pd.concat([MinMaxScale(income['工资']),MinMaxScale(income['消费'])],axis=1) print(data_M.head()) #查看全部数据为print(data_M) #标准差标准化 def StandarScaler(data): data = (data-data.mean())/data.std() return data #对工资和消费做标准差标准化 ''' data1 = StandarScaler(income['工资']) data2 = StandarScaler(income['消费']) data_S = pd.concat([data1,data2],axis=1) ''' data_S = pd.concat([StandarScaler(income['工资']),StandarScaler(income['消费'])],axis=1) print(data_S.head()) #查看全部数据为print(data_M) #小数定标标准化数据 def DecimalScaler(data): data = data/10**np.ceil(np.log10(data.abs().max())) return data #对工资和消费做标准差标准化 ''' data1 = DecimalScaler(income['工资']) data2 = DecimalScaler(income['消费']) data_D = pd.concat([data1,data2],axis=1) ''' data_D = pd.concat([DecimalScaler(income['工资']),DecimalScaler(income['消费'])],axis=1) print(data_D.head()) #查看全部数据为print(data_D)

部分二:绘图 全当这里有好多代码好多图

运行结果

部分一结果部分

工号 姓名 性别 工资 消费 存款 省份 学历

0 1 李四 女 4567.151881 1644 2923.151881 H 博士 1 2 王五 女 3031.000000 1486 1545.000000 H 大专 2 3 赵六 男 5533.000000 1876 3657.000000 H 本科 3 4 刘能 男 4025.000000 989 3036.000000 H 本科 4 5 魏玉 男 5068.000000 1351 3717.000000 H 本科 5 6 赵六 女 7163.000000 1691 5472.000000 H 本科 6 7 狗蛋 男 5549.000000 1579 3970.000000 H 本科 7 8 应许 男 3814.000000 1893 1921.000000 H 本科 8 9 怪风 男 5430.000000 1939 3491.000000 H 本科 9 10 虎虎 女 3699.000000 984 2715.000000 H 本科 10 11 高黑 女 7483.000000 1146 6337.000000 H 大专 11 12 黑哥 男 5053.000000 1379 3674.000000 H 博士 12 13 胖子 女 4413.000000 849 3564.000000 H 大专 13 14 嘉祥 男 4542.000000 969 3573.000000 H 大专 14 15 随机 男 5596.000000 1950 3646.000000 H 博士 15 16 数据 男 5524.000000 1829 3695.000000 H 大专 16 17 结构 女 7363.000000 1316 6047.000000 H 大专 17 18 计算机 男 5222.000000 1394 3828.000000 J 大专 18 19 网络 女 6005.000000 1848 4157.000000 J 大专 19 20 操作 男 5473.000000 1589 3884.000000 J 大专 20 21 系统 男 6537.000000 1473 5064.000000 J 本科 21 22 机组 男 5767.000000 1082 4685.000000 J 本科 22 23 自动化 女 3621.000000 1432 2189.000000 J 本科 23 24 康恩贝 女 6399.000000 1050 5349.000000 J 本科 24 25 线代 女 6230.000000 1631 4599.000000 B 本科 25 26 邮电 女 7605.000000 1524 6081.000000 B 本科 26 27 谢希仁 女 4245.000000 1245 3000.000000 B 本科 27 28 唐朔飞 男 6142.000000 831 5311.000000 B 本科 28 29 严蔚敏 男 4958.000000 1464 3494.000000 B 本科 29 30 孙悟空 女 5731.000000 1721 4010.000000 S 本科 30 31 猪八戒 男 6511.000000 1997 4514.000000 S 本科 31 32 沙和尚 女 7460.000000 1595 5865.000000 S 本科 32 33 唐三藏 女 6713.000000 1097 5616.000000 S 本科 33 34 白龙马 男 4727.000000 1557 3170.000000 S 本科 34 35 观音 男 4191.000000 1696 2495.000000 S 本科 工资 消费 存款 学历 博士 5596.0 1950 3674.0 大专 7483.0 1848 6337.0 本科 7605.0 1997 6081.0 工资 存款 sum 191390.151881 140294.151881 mean 5468.290054 4008.404339 使用aggregate函数: 工资 存款 sum 191390.151881 140294.151881 mean 5468.290054 4008.404339 工资 191390.151881 存款 4008.404339 dtype: float64 工资 存款 mean NaN 4008.404339 sum 191390.151881 140294.151881



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3