zoukankan      html  css  js  c++  java
  • numpy学习:数据预处理

    待处理的数据:150*150的灰度图片,除分析目标外,背景已经抹0

    需要实现的目标:背景数字0不变,对其余数字做一个归一化处理

    对list处理可以用

    a=list(set(a)) # 实现了去除重复元素并排序

    对array处理可以用np.unique()这个函数,可以去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表

    import numpy as np
    A = [1, 2, 2, 3, 4, 3]
    a = np.unique(A)
    print(a)            # 输出为 [1 2 3 4]
    a, b, c = np.unique(A, return_index=True, return_inverse=True)
    print(a, b, c)     # 输出为 [1 2 3 4], [0 1 3 4], [0 1 1 2 3 2]

    之后可以根据排序出的数组求得最大值与除0外的最小值,在线性归一化中还遇到一个问题,如果保留0值不动,只对非0元素做(x-min)/(max-min)变换

    发现一个函数非常适合了:np.where()

    img = (img-min)/(max-min)
    arr = np.where(img <= 1, img, 0)

    numpy.where(condition, [x, y])

    1、这里x,y是可选参数,condition是条件,这三个输入参数都是array_like的形式;而且三者的维度相同

    2、当conditon的某个位置的为true时,输出x的对应位置的元素,否则选择y对应位置的元素;

    3、如果只有参数condition,则函数返回为true的元素的坐标位置信息;

    今天还学到了一个新函数记录一下:

    np.maximum:(X, Y, out=None) 

    1、X 与 Y 逐位比较取其大者;

    2、最少接收两个参数

    总结:对numpy库还非常不熟悉,要慢慢学习。

  • 相关阅读:
    django监测登录成功事件
    大兔子生小兔子问题
    XML 命名空间(XML Namespaces)介绍以及节点读取方法
    喝汽水问题
    一个女程序员的男友需求说明书(转)
    ASP.NET学习(二)
    字典序排序
    如果说中国的程序员技术偏低,原因可能在这里(转)
    BI(摘)
    肝脏、心脏、脾脏、肺脏、肾脏的毒素表现以及食疗排毒
  • 原文地址:https://www.cnblogs.com/a-little-v/p/8762319.html
Copyright © 2011-2022 走看看