- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
1、需求缘起
数据库SQL语言、Python的numpy包、IDL语言,都有一个【where函数】,
数据处理工作中,where函数都起到至关重要的作用,
我常给Python初学者推荐这个函数,
灵活使用where函数,会有一种【所向披靡】的畅快感觉
2、numpy中的where
numpy.where函数的用途是:从一个[逻辑值序列]中找出True的索引,
它的最简模式如下:
x=[True,False,False,True,True]
p=np.where(x)
print(p)
# 结果:(array([0, 3, 4], dtype=int64),)
一个典型例子:
import numpy as np
# 生成随机数:
a=np.random.randint(-10,10,(10,))
b=np.random.randint(-10,10,(10,))
print('a=',a)
# 打印: a= [ -8 -3 6 -4 3 -1 -7 -9 2 -10]
print('b=',b)
# 打印: b= [ 5 -9 2 9 6 -6 3 9 2 6]
p=np.where((np.abs(a-5)>2)&(np.abs(b-5)>2))
print('第1个逻辑语句的结果:\n',np.abs(a-5)>2)
# 打印: [ True True False True False True True True True True]
print('第2个逻辑语句的结果:\n',np.abs(b-5)>2)
# 打印: [False True True True False True False True True False]
print('2个逻辑序列的交集:\n',(np.abs(a-5)>2)&(np.abs(b-5)>2))
# 打印: [False True False True False True False True True False]
|
|