Cherish's Notebook
切换到深色模式
菜单
Wiki--浏览次数--访问次数--跳出率--平均停留

numpy

12.其他常用函数

12.1 tile()元素按行列复制扩展

将数组的数据按照行列复制扩展

CODE
a=np.arange(1,5)
np.tile(a,2)
#结果:
#array([1, 2, 3, 4, 1, 2, 3, 4])
#行复制两次,列复制三次
np.tile(a,(2,3))
#结果:
'''
array([[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4],
       [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]])
'''
#创建二维数组
aa=np.arange(1,13).reshape(4,3)
np.tile(aa,2)#一个数的时候就是行
#结果:
'''
array([[ 1,  2,  3,  1,  2,  3],
       [ 4,  5,  6,  4,  5,  6],
       [ 7,  8,  9,  7,  8,  9],
       [10, 11, 12, 10, 11, 12]])
'''
np.tile(aa,(2,3))
#结果:
'''
array([[ 1,  2,  3,  1,  2,  3,  1,  2,  3],
       [ 4,  5,  6,  4,  5,  6,  4,  5,  6],
       [ 7,  8,  9,  7,  8,  9,  7,  8,  9],
       [10, 11, 12, 10, 11, 12, 10, 11, 12],
       [ 1,  2,  3,  1,  2,  3,  1,  2,  3],
       [ 4,  5,  6,  4,  5,  6,  4,  5,  6],
       [ 7,  8,  9,  7,  8,  9,  7,  8,  9],
       [10, 11, 12, 10, 11, 12, 10, 11, 12]])
'''

12.2 repeat()元素重复若干

repeat()将数组中的每个元素重复若干次

CODE
a=np.arange(1,5)
np.repeat(a,3)
#结果:
#array([1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4])
aa=np.arange(1,13).reshape(4,3)
#这个重复之后二维变成一维
np.repeat(aa,2)
'''
array([ 1,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7,  7,  8,  8,  9, 9, 10, 10, 11, 11, 12, 12])
'''
#指定axis
np.repeat(aa,2,axis=0)
#结果:
'''
array([[ 1,  2,  3],
       [ 1,  2,  3],
       [ 4,  5,  6],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [ 7,  8,  9],
       [10, 11, 12],
       [10, 11, 12]])
'''
np.repeat(aa,2,axis=1)
#结果:
'''
array([[ 1,  1,  2,  2,  3,  3],
       [ 4,  4,  5,  5,  6,  6],
       [ 7,  7,  8,  8,  9,  9],
       [10, 10, 11, 11, 12, 12]])
'''

12.3 roll()沿指定轴对数组元素移位

CODE
a=np.arange(1,5)
#array([,2,3,4])
np.roll(a,2)#传正数向后调多少位,传负数向前调多少位
#结果:
#array([3, 4, 1, 2])
np.roll(a,-1)
#结果:
#array([2, 3, 4, 1])

12.4 resize()重新调整数组大小

resize()重新调整数组的大小

reshape修改数组的维度,数组元素个数不能改变,要保持一致

CODE
#resize()重新调整 数组的大小,数组元素个数可以不相同
np.resize(aa,(2,6))
np.resize(aa,(2,9))#这样改完之后可以与原数组形状不同,多出来的元素又从第一个元素依次进行排

12.5 place()/put()函数

将数组中满足条件的元素/指定的元素替换为指定的值

12.6 保存加载文件

savetxt():将数据保存到txt文件中

loadtxt():从文件加载数据

12.7 genfromtxt()函数

根据文件内容中生成数据,可以指定缺失值的处理等

12.8 any()/all()函数

any():如果数组中存在一个True的元素(或者能转化为True的元素),则返回True

all():如果数组中所有的元素都为True(或者能转为True的元素),则返回True

12.9 where语句

np.where(条件,x,y)

如果条件为True,对应值为x,否则对应值为y

12.10 dot()矩阵