复制数据
.view-复制数据
import numpy as np
a= np.arange(12)
c=a.view()
#利用.view对于a进行复制
print(c is a)
#判定a是否与c相同
c.shape=2,6
#重新定义c的.shape
#shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,
#比如shape[0]就是读取矩阵第一维度的长度。它的输入参数可以使一个整数表示维度,也可以是一个矩阵
print(a.shape)
#确定a是否变化
c[0,4]=1234
print(a)
#对c进行数值定义,输出a之后发现a中数值发生改变;
#确定.view函数可以实现不同数组之间的ID相同,与此同时也可以改变当前数组中的数据值(分析如下)
print(id(a))
print(id(c))
反馈
False
(12,)
[ 0123 123456789 10 11]
2282571872256
2282571871616
.copy-复制数据
d = a.copy()
#对d进行数值定义,输出a之后发现a中数值不发生改变;
#确定.copy函数可以实现不同数组之间的ID相同,与此同时也可以不改变当前数组中的数据值
数据排序
import numpy as np
data = np.sin(np.arange(20)).reshape(5,4)
#data数据值,5*4结构
print (data)
ind = data.argmax(axis=0)
#axis=0---列
#data.argmax--比较data最大值的对应缩影(位置)输出
print(ind)
data_max = data[ind, range(data.shape[1])]
#对data的shape数组进行确定位置,然后通过data函数确定数据
print (data_max)
#'numpy.ndarray' object has no attribute 'range'---numpy.ndarray不包括range
反馈
[[ 0. 0.84147098 0.90929743 0.14112001]
[-0.7568025 -0.95892427 -0.2794155 0.6569866 ]
[ 0.98935825 0.41211849 -0.54402111 -0.99999021]
[-0.53657292 0.42016704 0.99060736 0.65028784]
[-0.28790332 -0.96139749 -0.75098725 0.14987721]]
[2 0 3 1]
[0.98935825 0.84147098 0.99060736 0.6569866 ]
Numpy函数回顾练习
a=np.arange(0,40,10)
print(a)
b=np.tile(a,(1,3))
#np.tile复制数组
print(b)
反馈
[ 0 10 20 30]
[[ 0 10 20 30 0 10 20 30 0 10 20 30]]
a=np.array([[4,3,5],[1,2,1]])
print(a)
b=np.sort(a,axis=1)
print(b)
a.sort(axis=1)
print(a)
a=np.array([4,3,1,2])
j=np.argsort(a)
print(j)
print(a[j])
---根据之前积累题
反馈
[[4 3 5]
[1 2 1]]
[[3 4 5]
[1 1 2]]
[[3 4 5]
[1 1 2]]
[2 3 1 0]
[1 2 3 4]
——————————————未完待续(2018-11-20 23点00分)