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库还非常不熟悉,要慢慢学习。

  • 相关阅读:
    Algs4-2.1.23纸牌排序
    python字符串加颜色区别
    python学习之字典
    python学习之while语句
    python学习之字符串变量
    python学习之列表语法
    python简单实现用户表单登录
    python学习之安装模块
    python学习之认识字符串
    python学习之for语句
  • 原文地址:https://www.cnblogs.com/a-little-v/p/8762319.html
Copyright © 2011-2022 走看看