zoukankan      html  css  js  c++  java
  • 三元运算符 np.where,裁剪clip以及处理缺失值

     np.where(t<5,0,1)的意思就是:把t中小于5的替换成0,其他的替换成1.

     t.clip(5,8)的意思就是:把t中小于5的替换为5,大于8的替换为8。

    一个用列平均值来替换nan的小例子:

     1 import numpy as np
     2 def fill_ndarray(t1):
     3     for i in range(t1.shape[1]):   #一列一列的循环
     4         temp_col = t1[:,i]
     5         nan_num = np.count_nonzero(temp_col!=temp_col)
     6         if nan_num !=0:  #不为0 说明当前这一列有nan
     7             tem_not_nan_col = temp_col[temp_col==temp_col] #当前一列不为nan的array
     8             #选中当前nan的位置,替换为当前列不为nan的值的均值
     9             temp_col[np.isnan(temp_col)] = tem_not_nan_col.mean()
    10     return t1
    11 
    12 if __name__ == '__main__':
    13     t1 = np.arange(12).reshape(3,4).astype('float')
    14     t1[1,2:] = np.nan
    15     t2 = fill_ndarray(t1)
    16     print(t2)
    --------------------成功,肯定是需要一点一滴积累的--------------------
  • 相关阅读:
    导出htmlcleaner
    备份
    本地win7搭建SVN
    nutch 导入ecl
    linux 启动nutch
    c++中的构造函数前加上explicit
    string::erase的使用心得
    C++的static关键字(转载)
    Boot Trigger
    strtol()详解
  • 原文地址:https://www.cnblogs.com/GouQ/p/12593450.html
Copyright © 2011-2022 走看看