美文网首页
numpy 数组常用处理

numpy 数组常用处理

作者: Adeline_T | 来源:发表于2020-04-27 14:56 被阅读0次

    新建数组

    a=[]
    for i in xxx:
    a.append(i[0:13])

    多维数组 b = np.array([(1.5,2,3), (4,5,6)])
    指定类型 c = np.array( [ [1,2], [3,4] ], dtype=complex )
    生成数组并赋值为特殊值 ones:全1 zeros:全0 empty:随机数,取决于内存情况,如果是二维的,即写成np.zeros( (3,4) ,dtype=np.int16 ) 还可以指定数据类型。

    生成均匀分布的array:
    arange(最小值,最大值,步长)(左闭右开)
    linspace(最小值,最大值,元素数量)
    指数分布 logspace

    对数组中每个元素进行处理,比如 a=arange(5) 2 可以写为
    a = [1,2,3,4,5]
    b = list(map(lambda x:x
    2,a))

    数组的交/并集

    list 可以直接相加
    水平组合 np.hstack((a,b ))
    垂直组合 np.vstack((a,b)) np.concatenate((a,b),axis=0)
    沿着纵轴方向组合 np.dstack((a,b)) 参考链接
    数组拼接 np.append(x,y)
    合并 np.concatenate((a,b), axis = None)

    image.png

    维度转换

    reshape 是把一个已经存在了的ndarray 转换为另一个shape, 即包含了原来所有的数组 ndarray = np.arange(0,12).reshape((3,4))
    (注意:新的形状必须保持size相同)

    条件筛选

    np.where( (arr == 3) | (arr == 1) )
    a=np.where((x>5)&(x<10))
    print(x[a])
    idx=np.where(ne>100)
    idx=np.array(idx).reshape(np.size(idx))
    print(time[idx])

    根据时间挑选最接近某个时刻的下标:
    import pyspedas
    arr=np.abs(MS_Bw_time-pyspedas.time_double(tt2))
    idx12 = np.where(arr == np.amin(arr))

    where筛选出来的index是tuple类型,把它转化到array类型:
    idx=[]
    for item in index:
    idx.extend(item)

    def find_nearest(array, value):
    array = np.asarray(array)
    idx = (np.abs(array - value)).argmin()
    return array[idx]
    def find_nearest2(array,values):
    indices = np.abs(np.subtract.outer(array, values)).argmin(0)
    return indices

    NAN value的处理

    把nan 项去除 或 设为0
    event_l_shell = event_l_shell[~np.isnan(event_l_shell)]
    event_l_shell[np.isnan(event_l_shell)]=0

    把NAN 去掉 .dropna()
    把NAN替换成某个值 A[np.isnan(A)] = 0 或者.fillna(0)

    bad_indices = np.isnan(x) | np.isnan(y)
    good_indices = ~bad_indices
    good_x = x[good_indices]
    good_y = y[good_indices]

    生成全是nan 的数组: np.full([3,2], np.nan)

    空数组的判断 any(array) == True/False

    相关文章

      网友评论

          本文标题:numpy 数组常用处理

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