zoukankan      html  css  js  c++  java
  • Numpy 利用数组进行数据处理

     

    Numpy数组使你可以将许多种数据处理任务表述为简洁的数组表达式(否则需要编写循环)。

    用数组表达式代替循环的做法,通常被称为矢量化。一般来说,矢量化数组运算要比等价的纯跑一趟湖南快

    上一两个数量级(甚至更多),尤其是各种数值计算。

    将条件逻辑表述为数组运算 np.where

     where 第二需求:

     where 的第二个和第三个参数不必是数组,他们都可以是标量值。在数据分析工作中,where通常用于根据另一个

    数组而产生一个新的数组。假设有一个由随机数据组成的矩阵,您希望将所有正值替换为2, 将所有负值替换为-2.若利用np.where,则会非常简单:

    看例子:

     更复杂的数据逻辑例子:

     

    数学和统计方法

     详情点击:Numpy 的数学和统计方法

    用于布尔型数组的方法

     在上面的方法中,bool类型会强制转换为1和0。因此, sum经常被用来对布尔型数组中的True值计数:

     另外还有两个方法any和all, 他们对布尔型数组非常有用。any用于测试数组中是否存在一个或多个True, 而all则检查数组中所有值是否都是True:

     这两个方法也能用于非布尔型数组, 所有非0元素将会被当作True。

     排序

     跟Python内置的列表类型一样, Numpy数组也可以通过sort方法就地排序:

    注意:

     顶级方法np.sort返回的是数组的已排序副本, 而就地排序则会修改数组本身。

    计算数组分位数最简单的方法是对其进行排序, 然后选取特定位置的值:

     

    唯一化以及其他的集合逻辑

     Numpy提供了一些针对一维ndarray的基本集合运算。最常用的可能要数np.unique 了, 它用于找出数组中唯一值

    并返回已排序的结果:

     而python代码对比一下

     另一个函数np.inld用于测试一个数组中的值在另一个数组中的成员资格, 返回一个布尔型数组:

     数组的集合运算方法

     

  • 相关阅读:
    Ubuntu使用之Svn命令小技巧
    Android
    Python&MySQL&PyQt
    YII进行数据增删改查分析
    UVA270-Lining Up
    block高级功能
    HDU-2665-Kth number(划分树)
    Android模糊演示样例-RenderScript-附效果图与代码
    HTTP状态码具体解释
    近期写的一个控件——Well Swipe beta 1.0
  • 原文地址:https://www.cnblogs.com/renfanzi/p/6406996.html
Copyright © 2011-2022 走看看