names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
data = np.random.randn(7, 4) # 七行四列的数组
names
data
names == 'Bob'
data[names == 'Bob']
# 在这里names的长度为7 这个二维数组的长度也为7 于是可以用这个布尔型的数组作为索引同时也可以进行切片
# 索引的长度要和被索引的轴:行或者列 (对一个二维数组来说)要一致
data[names == 'Bob', 2:] # 同样的也可以使用切片
data[names == 'Bob', 3] # 这里的切片是怼names =='Bob'的结果进行列的切片
names != 'Bob' # 同时也可以用 (!=)不等号或者是(-)号来对条件进行否定
data[-(names == 'Bob')] # 这里不能使用names ==-'Bob'
data[names != 'Bob']
mask = (names == 'Bob') | (names == 'Will')
mask
data[mask] # 多个组合应用多个布尔条件时候 要使用 &或|之类的布尔运算符 但是在Python的关键字and和or是无效的
# 通过布尔数组进行设置值
data[data < 0]
# 把他们都设置成 0
data[data < 0] = 0
data
data[names != 'Joe'] =
利用Python数据分析:Numpy基础(三)
最新推荐文章于 2022-11-29 08:51:11 发布