我是靠谱客的博主 鳗鱼蜜蜂,最近开发中收集的这篇文章主要介绍南京大学用python玩转数据_用Python玩转数据分析11,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MOOC上的课程《用Python玩转数据分析》的学习笔记。

数据预处理之数据变换

数据变换就是把数据变成合适的形式,常见方式有规范化、连续属性离散化、特征二值化等。

数据规范化

数据规范化主要解决的问题是:数据间量纲不同、取值范围不同,进而难以比较、运算。最小-最大规范化/离差标准化

因为DataFrame支持矢量运算,所以可以直接用(df-df.min())/(df.max()-df.min())来实现。

或者借助preprocessing实现离差标准化也是可以的:

>>>from sklearn import preprocessing

>>>preprocessing.minmax_scale(df)

z-score规范化/零均值规范化

手工写代码直接实现:(df-df.mean())/df.std()

借助preprocessing实现:

>>>preprocessing.scale(df)

小数定标规范化

假如这一列数中绝对值最大的数是92,那么j=2,这一列所有的数都除以100,目的就是使所有的数落在[-1,1]之间,这就是小数定标规范化。

手工写代码直接实现:df/10**np.ceil(np.log10(df.abs().max())) (j的计算表示为 绝对值最大的数取10的对数后取更大的最近的整数 )

连续属性离散化

分箱法除了可以用来平滑噪声,还可以用来做连续属性离散化。分箱法(binning):等宽法

>>>pd.cut(df.属性, 5, label = range(5)) (对df.属性进行离散化,分为5个箱子,箱子的编号是range(5),也就是01234。等宽法使数据范围区间按照箱子个数等分。)

分箱法(binning):等频法

>>>pd.qcut(df.属性, 5, label = range(5)) (对df.属性进行离散化,分为5个箱子,箱子的编号是range(5),也就是01234。等频法使每一个箱子中的记录数一样。)

特征二值化

特征二值化的核心是设置一个阈值threshold,大于阈值的赋值1,小于等于阈值的赋值0。适用于把数据转化为二分类数据。处理方法之一:Binarizer

>>>from sklearn.preprocessing import Binarizer

>>>Binarizer(threshold = 5).fit_transform(数据属性列) (此处设置阈值为5,可自行调整)

最后

以上就是鳗鱼蜜蜂为你收集整理的南京大学用python玩转数据_用Python玩转数据分析11的全部内容,希望文章能够帮你解决南京大学用python玩转数据_用Python玩转数据分析11所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(26)

评论列表共有 0 条评论

立即
投稿
返回
顶部