1.arange()
range类似于for循环,依次遍历
eg.
range(5)
[0,1,2,3,4]
range和arange的区别在于,range返回的是list,arange返回的是array对象
arange(5)
array([0,1,2,3,4])
arange(1,5)
array([1,2,3,4])
arange(1,10,2)
array([1,3,5,7,9])
2.meshgrid()
x,y = np.meshgrid(xnums,ynums)
meshgrid的作用是根据传入的两个一维数组参数生成两个数组元素的列表。如果第一个参数是xarray,维度是xdimesion,
第二个参数是yarray,维度是ydimesion。那么生成的第一个二维数组是以xarray为行,ydimesion行的向量;
而第二个二维数组是以yarray的转置为列,xdimesion列的向量。
数组拼接
3.np.concatenate()
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[11,21,31],[7,8,9]])
np.concatenate((a,b),axis=0)
array([[ 1, 2, 3],
[ 4, 5, 6],
[11, 21, 31],
[ 7, 8, 9]])
np.concatenate((a,b),axis=1)
array([[ 1, 2, 3, 11, 21, 31],
[ 4, 5, 6, 7, 8, 9]])
沿着指定轴计算第N维的离散差值
4.np.diff()
A = np.arange(2 , 14).reshape((3 , 4))
A[1 , 1] = 8
print('A:' , A)
A: [[ 2 3 4 5]
[ 6 8 8 9]
[10 11 12 13]]
print(np.diff(A))
[[1 1 1]
[2 0 1]
[1 1 1]]
5.np.timedelta64()
6.zip
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
zip(a,c) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
zip(*zipped) # 与 zip 相反,可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]
7.collections
c = Counter("abcdcba")
c
Counter({'a': 2, 'c': 2, 'b': 2, 'd': 1})
8.sorted
a = [5,7,6,3,4,1,2]
b = sorted(a) # 保留原列表
a
[5, 7, 6, 3, 4, 1, 2]
b
[1, 2, 3, 4, 5, 6, 7]
L=[('b',2),('a',1),('c',3),('d',4)]
sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
sorted(L, key=lambda x:x[1]) # 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
sorted(students, key=lambda s: s[2]) # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
sorted(students, key=lambda s: s[2], reverse=True) # 按降序
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]