目录

数组的其他函数

编辑

numpy.resize()

numpy.append()

numpy.insert()

numpy.delete()¶


数组的其他函数

主要有以下方法:

numpy.resize()

        numpy.resize(arr,shape)

        numpy.resize()返回指定形状的新数组。

        numpy.resize(arr,shape)和ndarray.resize(shape, refcheck=False)区别:

        numpy.resize(arr,shape),有返回值,返回复制内容.如果维度不够,会使用原数组数据补齐

        ndarray.resize(shape, refcheck=False),修改原数组,不会返回数据,如果维度不够,会使用0补齐

        注: reshape只能设置规定内的元素,假如超出或者减少会报错而 resize不会报错支持超出或者减少元素的操作

import numpy as np
a=np.array([[1,2,3],[4,5,6]])
print(a)
#数组的形状
print(a.shape)
b=np.resize(a,(3,2))
c=np.resize(a,(3,3))
d=np.resize(a,(2,2))
print(b)
print(c)
d
# 设置refcheck=False 后,不足的数值由0补上
a.resize((3,3),refcheck=False)
a

 

numpy resize插值 numpy resize函数_numpy resize插值

numpy resize插值 numpy resize函数_数据分析_02

numpy.append()

        在数组的末尾添加值,默认返回一个一维数组。

        numpy. append (arr, values,axis=None)

参数说明:

        . arr:输入的数组;

        . values:向arr 数组中添加的值,需要和arr 数组的形状保持一致;

        · axis:默认为None,返回的是一维数组;

        当axis =0时,追加的值会被添加到行,而列数保持不变,若axis=1则与其恰好相反。

a=np.array([[1,2,3],[4,5,6]])
#向数组a添加元素
b=np.append(a,[[7,8,9]])
print(b)
print(a)
#沿0轴添加元素
print(np.append(a,[[7,8,9]],axis=0))
a.shape
print(a)
#沿1轴添加元素
print(np.append(a,[[7,8,9],[10,11,12]],axis=1))

 

numpy resize插值 numpy resize函数_numpy resize插值_03

numpy.insert()

表示沿指定的轴,在给定索引值的前一个位置插入相应的值,如果没有提供轴,则输入数组被展开为一维数组。

numpy.insert(arr,obj,values,axis)

参数说明:

· arr:要输入的数组

. obj:表示索引值,在该索引值之前插入values值;

. values:要插入的值;

. axis:指定的轴,如果未提供,则输入数组会被展开为一维数组


a=np.array([[1,2],[3,4],[5,6]])
print(a,a.shape)
#不提供axis的情况下,会将数组展开
print(np.insert(a,3,[11,12]))
print(a)
#沿0轴垂直方向插入元素
print(np.insert(a,1,[11,2],axis=0))
print(a)
#沿1轴水平方向插入元素
print(np.insert(a,1,1,axis=1))

numpy resize插值 numpy resize函数_numpy_04

numpy.delete()¶

        该方法表示从输入数组中删除指定的子数组,并返回一个新数组。它与insert()函数相似,若不提供 axis参数,则输入数组被展开为一维数组。numpy.delete(arr,obj,axis)参数说明:

        . arr:要输入的数组;

        . obj:整数或者整数数组,表示要被删除数组元素或者子数组;.

        axis:沿着哪条轴删除子数组。

a=np.arange(12).reshape(3,4)
print(a)
print('--------------------------------')
#不提供axis的情况
print(np.delete(a,5))
print('--------------------------------')
#删除第二列
b=np.delete(a,1,axis=1)
print(b)
print('---------------------------------')
#删除多行
print(np.delete(a,[1,2,],axis=0))
np.s_[1:4]  #默认切片操作
#横向输出一个数组
np.r_[1:4]
#纵向输出一个数组
np.c_[1:4]

 

numpy resize插值 numpy resize函数_人工智能_05

numpy resize插值 numpy resize函数_numpy resize插值_06