数据探索 —— 数据预处理 4

Python主要数据预处理函数

下表给出了本节要介绍的Python中的插值、数据归一化、主成分分析等与数据预处理相关的函数。


Python主要数据预处理函数

(1)interpolate

  1. 功能:interpolate是Scipy的一个子库,包含了大量的插值函数,如拉格朗日插值、样条插值、高维插值等。使用前需要用from scipy.interpolate import *引入相应的插值函数。
  2. 使用格式:f = scipy.interpolate.lagrange(x, y)。这里仅仅展示了一维数据的拉格朗日插值的命令,其中x,y为对应的自变量和因变量数据。插值完成后,可以通过f(a)计算新的插值结果。类似的还有样条插值、多维数据插值等。

(2) unique

  1. 功能:去除数据中的重复元素,得到单值元素列表。它既是Numpy库的一个函数(np.unique()),也是Series对象的一个方法。
  2. 使用格式:
  • np.unique(D),D是一维数据,可以是list、array、Series;
  • D.unique(),D是Pandas的Series对象。
  1. 实例:求向量A中的单值元素,并返回相关索引。
>>> D = pd.Series([1, 1, 2, 3, 5])
>>> D.unique()
array([1, 2, 3, 5], dtype=int64)
>>> np.unique(D)
array([1, 2, 3, 5], dtype=int64)

(3)isnull/notnull

  1. 功能:判断每个元素是否空值/非空值
  2. 使用格式:D.isnull()/D.notnull()。这里的D要求是Series对象,返回一个布尔Series。可以通过D[D.isnull()]D[D.notnull()]找出D中的空值/非空值。

(4)random

  1. 功能:random是Numpy的一个子库(Python本身也自带了random,但Numpy的更加强大),可以用该库的各种函数生成服从特定分布的随机矩阵,抽样时可使用。
  2. 使用格式:
  • np.random.rand(k, m, n,...)生成一个k×m×n×...随机矩阵,其元素均匀分布在区间(0, 1)上;
  • np.random.randn(k, m, n,...)生成一个k×m×n×...随机矩阵,其元素服从标准正态分布。

(5)PCA

  1. 功能:对指标变量矩阵进行主成分分析。使用前需要用from sklearn.decomposition import PCA引入该函数。
  2. 使用格式:model = PCA()。注意,Scikit-Learn下的PCA是一个建模式的对象,也就是说,一般的流程是建模,然后是训练model.fit(D),D为要进行主成分分析的数据矩阵,训练结束后获取模型的参数,如.components_获取特征向量,以及.explained_variance_ratio_获取各个属性的贡献率等。
  3. 实例:使用PCA()对一个10×4维的随机矩阵进行主成分分析。
>>>from sklearn.decomposition import PCA
>>>D = np.random.rand(10,4)
>>>pca = PCA()
>>>pca.fit(D)
PCA(copy=True, iterated_power='auto', n_components=None, random_state=None, svd_solver='auto', tol=0.0, whiten=False)
>>>pca.components_  # 返回模型的各个特征向量
array([[-0.06811883,  0.51265709,  0.77200257, -0.3695329 ],
       [-0.37378143, -0.70298054,  0.15371729, -0.58521517],
       [ 0.9163908 , -0.18585149,  0.03542612, -0.35274936],
       [-0.12599668,  0.45657452, -0.61573372, -0.62971146]])
>>>pca.explained_variance_ratio_  # 返回各个成分各自的方差百分比
array([0.5431792 , 0.26934177, 0.14385656, 0.04362248])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Scipy scipy包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化...
    Aieru阅读 34,852评论 3 59
  • 原来用markdown写的,简书公式编辑比较麻烦。所以正常公式版本可以戳以下链接https://www.zybul...
    hainingwyx阅读 20,993评论 11 97
  • 数据形式 数据读取 数据预处理 数据收集及读取 很多人认为数据分析就是将数据可视化或者对数据趋势做出预测,其实是不...
    Clemente阅读 2,190评论 0 5
  • 天气还是有点冷 在这寒冷的南方蔓延 我们都在寻找一丝温暖 火辣辣的辣椒和饺子 让这个冬日暖和了一点 表面笑得多开心...
    Jay1972阅读 323评论 4 6
  • 一样的青春,却是不一样的我们 原创:蒋好著好著学长7月17日 夏天·青春 支教·青春 总想写点东西,有关于支教生活...
    艸者阅读 801评论 0 0