本节继续介绍pandas的数据操作,这里介绍数据计算,包括数据的简单计算、数据标准化以及pandas中对日期的处理。最后做一个小实例为pandas做一个综合总结。
这里提供练习的文件:
链接:https://pan.baidu.com/s/1WEmunBN_Wo75EZd1cK6_lA
提取码:3xco
1.数据简单计算(加减乘除)
2.数据标准化
离差标准化
X* = (x-min)/(max-min)
z-score标准化
X* = (x-u)/a
3.数据分组
cut(series,bins,right=True,labels=NULL)
series 需要分组的数据
bins 分组的依据
right 右边是否闭合,即如果80到90为良好,90到100算优秀,right=True,90算良好不算优秀
labels 自定义标签(类别)
4.日期处理
#字符串日期转为时间对象
to_datetime(series,format="%Y/%m/%d")
#时间抽取
df_dt.dt.year
df_dt.dt.month
df_dt.dt.day
df_dt.dt.second
df_dt.dt.hour
df_dt.dt.minute
这里介绍apply(lambda x:处理逻辑),相当于js中的map方法,里面传一个回调函数;apply是dataframe和series中的方法
apply(func,axis=0,args=0,**kwds) axis=0按列计算;1是按行计算
小案例:
material/rz.csv的成绩信息
1.求各科总成绩并按400以下,400到450,450以上分为一般,较好,优秀
2.将各科成绩标准化再汇总再分为 一般 较好 优秀
学号 | 班级 | 姓名 | 性别 | 英语 | 体育 | 军训 | 数分 | 高代 | 解几 |
2308024241 | 23080242 | 成龙 | 男 | 76 | 78 | 77 | 40 | 23 | 60 |
2308024244 | 23080242 | 周怡 | 女 | 66 | 91 | 75 | 47 | 47 | 44 |
2308024251 | 23080242 | 张波 | 男 | 85 | 81 | 75 | 45 | 45 | 60 |
2308024249 | 23080242 | 朱浩 | 男 | 65 | 50 | 80 | 72 | 62 | 71 |
2308024219 | 23080242 | 封印 | 女 | 73 | 88 | 92 | 61 | 47 | 46 |
2308024201 | 23080242 | 迟培 | 男 | 60 | 50 | 89 | 71 | 76 | 71 |
2308024347 | 23080243 | 李华 | 女 | 67 | 61 | 84 | 61 | 65 | 78 |
2308024307 | 23080243 | 陈田 | 男 | 76 | 79 | 86 | 69 | 40 | 69 |
2308024326 | 23080243 | 余皓 | 男 | 66 | 67 | 85 | 65 | 61 | 71 |
2308024320 | 23080243 | 李嘉 | 女 | 62 | 作弊 | 90 | 60 | 67 | 77 |
2308024342 | 23080243 | 李上初 | 男 | 76 | 90 | 84 | 60 | 66 | 60 |
2308024310 | 23080243 | 郭窦 | 女 | 79 | 67 | 84 | 64 | 64 | 79 |
2308024435 | 23080244 | 姜毅涛 | 男 | 77 | 71 | 缺考 | 61 | 73 | 76 |
2308024432 | 23080244 | 赵宇 | 男 | 74 | 74 | 88 | 68 | 70 | 71 |
2308024446 | 23080244 | 周路 | 女 | 76 | 80 | 61 | 74 | 80 | |
2308024421 | 23080244 | 林建祥 | 男 | 72 | 72 | 81 | 63 | 90 | 75 |
2308024433 | 23080244 | 李大强 | 男 | 79 | 76 | 77 | 78 | 70 | 70 |
2308024428 | 23080244 | 李侧通 | 男 | 64 | 96 | 91 | 69 | 60 | 77 |
2308024402 | 23080244 | 王慧 | 女 | 73 | 74 | 93 | 70 | 71 | 75 |
2308024422 | 23080244 | 李晓亮 | 男 | 85 | 60 | 85 | 72 | 72 | 83 |
2308024201 | 23080242 | 迟培 | 男 | 60 | 50 | 89 | 71 | 76 | 71 |