一个demo让你认识numpy

通过numpy将数组里的nan值用平均值替换

示例代码:

#coding=utf-8

import numpy as np

def fill_ndarray(arr):

    for i in range(arr.shape[1]):

        temp_col = arr[:,i] #取出所有列

        non_num = np.count_nonzero(temp_col != temp_col)  #np.nan != np.nan

        if non_num >0: #存在nan值,non_num>0

            temp_not_non_col = temp_col[temp_col == temp_col]

            temp_col[np.isnan(temp_col)] = temp_not_non_col.mean() #布尔索引和求平均值函数mean()

    return arr

if __name__ == '__main__':

    t = np.arange(12).reshape(3,4).astype("float") #创建二维数组,将数据类型变为float

    t[1,:] = np.nan #切片和赋值

    print(t)

    t = fill_ndarray(t)

    print(t)

结果展示:

[[ 0. 1. 2. 3.]

[nan nan nan nan]

[ 8.  9. 10. 11.]]


[[ 0.  1.  2.  3.]

[ 4.  5.  6.  7.]

[ 8.  9. 10. 11.]]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,554评论 0 13
  • 自学整理记录,大神见笑 为什么学习numpy 快速 方便 科学计算的基础库 什么是numpy 一个在Python中...
    岑洋阅读 2,712评论 0 0
  • NumPy是机器学习中最常用的计算科学库,今天就来看看吧 NumPy简单介绍 NumPy的简单介绍:NumPy是机...
    帅可儿妞阅读 579评论 0 2
  • python依靠numpy和pandas成为数据挖掘的首选语言,就连c++也排名其后,numpy分析数据,pand...
    披风海胆放阅读 1,780评论 0 4
  • 整理归纳在Python中使用对数据处理的常用方法,包括与HDFS文件的读写,主要是怕用的时候记不住,容易搞混,再搜...
    shohokuooo阅读 4,282评论 0 50