数据的类型有 数值型数据
及 分类型数据
,每一种类型的数据有不同的分析方法
系列
区分数据类型
读取csv文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import pandas as pd
path = './abc.csv'
data = pd.read_csv(path, encoding='gb2312')
head = data.head(3) print(head)
'''输出 工号 姓名 部门 绩效 提成 基本工资 是否确认 0 S1001 吕建国 销售部 100 2250 7500 是 1 S1002 张想 后勤部 100 4250 7500 是 2 S1003 王淑兰 后勤部 300 3500 6500 是 '''
|
属于数值型的有 绩效
提成
及 基本工资
这三列
属于分类型的有 工号
姓名
部门
及 是否确认
这四列
数值型数据的分析方法
数值型数据
是表示大小或多少的数据
最小值
DataFrame对象['列名'].min() 或者 Series对象.min()
1 2 3 4 5 6 7 8 9 10 11 12 13
| 绩效 = data['绩效'].min() 提成 = data['提成'].min() 基本工资 = data['基本工资'].min()
print('最小值\n绩效:{}\n提成:{}\n基本工资:{}'.format(绩效, 提成, 基本工资))
'''输出 最小值 绩效:100 提成:1000 基本工资:6000 '''
|
最大值
DataFrame对象['列名'].max() 或者 Series对象.max()
1 2 3 4 5 6 7 8 9 10 11 12 13
| 绩效 = data['绩效'].max() 提成 = data['提成'].max() 基本工资 = data['基本工资'].max()
print('最大值\n绩效:{}\n提成:{}\n基本工资:{}'.format(绩效, 提成, 基本工资))
'''输出 最大值 绩效:300 提成:4750 基本工资:10000 '''
|
平均值
DataFrame对象['列名'].mean() 或者 Series对象.mean()
1 2 3 4 5 6 7 8 9 10 11 12 13
| 绩效 = data['绩效'].mean() 提成 = data['提成'].mean() 基本工资 = data['基本工资'].mean()
print('平均值\n绩效:{}\n提成:{}\n基本工资:{}'.format(绩效, 提成, 基本工资))
'''输出 平均值 绩效:202.0 提成:2767.5 基本工资:7900.0 '''
|
不过 平均值
受极端值影响比较大,不应过度依赖
中位数
DataFrame对象['列名'].median() 或者 Series对象.median()
1 2 3 4 5 6 7 8 9 10 11 12 13
| 绩效 = data['绩效'].median() 提成 = data['提成'].median() 基本工资 = data['基本工资'].median()
print('中位数\n绩效:{}\n提成:{}\n基本工资:{}'.format(绩效, 提成, 基本工资))
'''输出 中位数 绩效:200.0 提成:2625.0 基本工资:8000.0 '''
|
绩效
的 中位数
是 200
,这表明有一半的人小于等于200,剩下一半的人则大于等于200
中位数
可以很好的反映整体的水平,因为只取了中间值,不受极端值的影响,不至于偏离正常值太远
分类型数据的分析方法
分类型数据
是指可以归属于某一个类别的数据
查看数据的频率分布
频率分布反映的是一组数据中各个类别出现的次数占总数据量的百分比
公式为 频数/总数据量
:
DataFrame对象['列名'].value_counts()/DataFrame对象['列名'].value_counts().sum()
或者
Series对象.value_counts()/Series对象.value_counts().sum()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 部门 = data['部门'].value_counts()/data['部门'].value_counts().sum() 是否确认 = data['是否确认'].value_counts()/data['是否确认'].value_counts().sum()
print('部门:\n{}\n\n是否确认:\n{}'.format(部门, 是否确认))
'''输出 部门: 销售部 0.15 人力资源部 0.14 开发部 0.14 行政部 0.13 运营部 0.13 客服部 0.12 后勤部 0.11 财务部 0.08 Name: 部门, dtype: float64
是否确认: 是 0.51 否 0.49 Name: 是否确认, dtype: float64 '''
|