美文网首页
一个demo让你认识numpy

一个demo让你认识numpy

作者: 指尖舞者_3f01 | 来源:发表于2020-02-14 12:02 被阅读0次

    通过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.]]

    相关文章

      网友评论

          本文标题:一个demo让你认识numpy

          本文链接:https://www.haomeiwen.com/subject/ztedfhtx.html