FancyIndexing
import numpy as np
x=np.arange(16)
#一维
[x[3],x[5],x[8]]
=
ind=[3,5,8]
x[ind]
#二维
ind=np.array([[0,2],
[1,3]])
x[ind]
#注意array中的[]
X=x.reshape(4,-1)
X
'''
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
'''
#坐标做索引
row=np.array([0,1,2])
col=np.array([1,2,3])
X[row,col]
#array([ 1, 6, 11])
X[0,col]
#array([1, 2, 3])
X[:2,col]
'''
array([[1, 2, 3],
[5, 6, 7]])
'''
col=[True,False,True,True]
X[1:3,col]
'''
array([[ 4, 6, 7],
[ 8, 10, 11]])
'''
#True的显示False的不显示
numpy.array的比较
x<3
'''
array([ True, True, True, False, False, #False, False, False, False,
False, False, False, False, False,
False, False])
'''
2*x==24-4*x
'''
array([False, False, False, False, True, #False, False, False, False,
False, False, False, False, False, #False, False])
'''
np.sum(x<=3)
=
np.count_nonzero(x<=3)
np.any()
#任意一个是True 就返回True
np.all()
#所有返回True才返回True
np.any(x==0)
np.sum(X%2==0)
#8
np.sum(X%2==0,axis=1)
#array([2, 2, 2, 2])
np.sum((x>3)&(x<10))
#此处为位与运算符 &&会报错
np.sum((x%2==0)|(x>10))
#非运算符
np.sum(~(x==0))
x[x<5]
X[:,1]
#所有行 第一列
X[X[:,3]%3==0,:]
Pandas
网友评论