numpy
12.其他常用函数
12.1 tile()元素按行列复制扩展
将数组的数据按照行列复制扩展
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()将数组中的每个元素重复若干次
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()沿指定轴对数组元素移位
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修改数组的维度,数组元素个数不能改变,要保持一致
#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()矩阵
