numpy基础操作
import numpy as np
import pandas as pd
属性
array=np.array([[1,2,3],[2,3,4]])
print(array)
print('number of dim:',array.ndim)
print('shape',array.shape)
print('size',array.size)
"""
[[1 2 3]
[2 3 4]]
number of dim: 2
shape (2, 3)
size 6
"""
array0=np.array([[1,2,3],[2,3,4]],dtype=np.float16)
print(array0.dtype)
数组认识
zero=np.zeros((3,4))
one=np.ones((3,4),dtype=np.int64)
print(zero)
print(one)
a=np.arange(10,20,2)
print(a)
a[-1]=21
a=np.delete(a,0)
print(a)
b=np.arange(12,dtype=float)
print(b)
c=np.arange(12).reshape((3,4))
print(c)
d=np.linspace(1,10,6).reshape((2,3))
print(d)
e=np.random.randint(1,10,(2,5))
print(e,'\n')
print("#数组维度")
c1=np.array([1,2,3])
c2=np.array([[1,2],[3,4]])
c3= np.array([[[1,2],[3,4],[5,6]],[[1,2],[3,4],[5,6]]])
print(c3, c3.shape,c3.ndim)
"""
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
[10 12 14 16 18]
[12 14 16 21]
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.]
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[ 1. 2.8 4.6]
[ 6.4 8.2 10. ]]
[[6 1 5 2 9]
[6 6 9 8 4]]
#数组维度
[[[1 2]
[3 4]
[5 6]]
[[1 2]
[3 4]
[5 6]]] (2, 3, 2) 3
"""
基础运算1
e=np.arange(4)
f=e**2
g=10*np.sin(np.pi/2)
h=10*np.sin(f)
print(f,g,h)
print(e<2)
a0=np.array([[1,2],[2,3]])
b0=np.arange(4).reshape((2,2))
c0=a0*b0
c_dot=np.dot(a0,b0)
c_dot1=a0.dot(b0)
print(c0)
print(c_dot)
print(c_dot1,'\n')
rand=np.random.random((2,4))
print(rand)
print(np.sum(rand))
print(np.min(rand,axis=1))
print(np.min(rand,axis=0))
print(" ")
print(np.argmin(rand))
print(np.average(rand,axis=1))
print(rand.mean())
"""
[0 1 4 9] 10.0 [ 0. 8.41470985 -7.56802495 4.12118485]
[ True True False False]
[[0 2]
[4 9]]
[[ 4 7]
[ 6 11]]
[[ 4 7]
[ 6 11]]
[[0.64530567 0.6523024 0.37349276 0.0186477 ]
[0.66123502 0.03198241 0.4926486 0.81234177]]
3.687956337947351
[0.0186477 0.03198241]
[0.64530567 0.03198241 0.37349276 0.0186477 ]
3
[0.42243714 0.49955195]
0.46099454224341885
"""
基础运算2
A=np.arange(14,2,-1).reshape((3,4))
print(np.mean(A,axis=0))
print(np.sort(A))
print(np.transpose(A))
print(A.T)
print(" ")
print(np.clip(A,5,9))
"""
[10. 9. 8. 7.]
[[11 12 13 14]
[ 7 8 9 10]
[ 3 4 5 6]]
[[14 10 6]
[13 9 5]
[12 8 4]
[11 7 3]]
[[14 10 6]
[13 9 5]
[12 8 4]
[11 7 3]]
[[9 9 9 9]
[9 9 8 7]
[6 5 5 5]]
"""
索引使用
B=np.arange(3,15).reshape((3,4))
print(B)
print(B[2])
print(B[2:,])
print(B[2,1:4])
print(B[0][0])
print(B[0,0])
print(" ")
print("#循环出行")
for row in B:
print(row)
print(" ")
print("#循环出列")
for col in B.T:
print(col)
print("#循环出每项")
print(B.flatten())
for item in B.flat:
print(item)
print("删除",'\n')
B=np.delete(B,1,axis=0)
print(B)
"""
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
[11 12 13 14]
[[11 12 13 14]]
[12 13 14]
3
3
#循环出行
[3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]
#循环出列
[ 3 7 11]
[ 4 8 12]
[ 5 9 13]
[ 6 10 14]
#循环出每项
[ 3 4 5 6 7 8 9 10 11 12 13 14]
3
4
5
6
7
8
9
10
11
12
13
14
删除
[[ 3 4 5 6]
[11 12 13 14]]
"""
数组合并
C=np.array([[1,1,1]])
D=np.array([[2,2,2]])
C1=np.array([1,1,1])
print(np.vstack((C,D)))
E=np.hstack((C,D))
print(E)
print(C.shape,E.shape,C1.shape)
print(C.T)
print(C1)
print(C1.T)
print("C.T.shape,C1.T.shape")
print(" ")
print("#C1[np.newaxis,:]和C1[:,np.newaxis]的区别 C1是(,N)")
print(C1[np.newaxis,:])
print(C1[:,np.newaxis])
print(C1.reshape(3,1))
print(" ")
print("# concatenate合并")
H=np.vstack((C,C,D))
H0=np.concatenate((C,C,D),axis=0)
print(H)
print(H0)
"""
[[1 1 1]
[2 2 2]]
[[1 1 1 2 2 2]]
(1, 3) (1, 6) (3,)
[[1]
[1]
[1]]
[1 1 1]
[1 1 1]
C.T.shape,C1.T.shape
#C1[np.newaxis,:]和C1[:,np.newaxis]的区别 C1是(,N)
[[1 1 1]]
[[1]
[1]
[1]]
[[1]
[1]
[1]]
# concatenate合并
[[1 1 1]
[1 1 1]
[2 2 2]]
[[1 1 1]
[1 1 1]
[2 2 2]]
"""
array分割
S=np.arange(12).reshape((3,4))
print(S)
print(np.split(S,3,axis=0))
print(np.vsplit(S,3))
print(" ")
print(np.split(S,2,axis=1))
print(np.hsplit(S,2))
print(" ")
print("#上面是等分割,下面不等分割 ")
print(np.array_split(S,3,axis=1))
"""
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]
#上面是等分割,下面不等分割
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2],
[ 6],
[10]]), array([[ 3],
[ 7],
[11]])]
"""
copy
l=np.array([0,1,2,3])
m=l
n=l
m=n
l[0]=5
print(l,m,n)
print(m is n)
print(" ")
print("不相关联")
p=l.copy()
print(p is l)
"""
[5 1 2 3] [5 1 2 3] [5 1 2 3]
True
不相关联
False
"""
参考学习
参考学习