numpy1.1: np.where用法、及其相似搜索清洗写法

方法:

用法1

np.where(condition,x,y) 满足条件,输出x,不满足输出y

用法2

np.where(condition) 返回坐标地址:满足条件的元素坐标地址!

np.where示例代码

'''
import numpy as np
arr = np.arange(1,10,1).reshape(3,3)
print(arr)

# 用法1
arr1 = np.where((8>=arr)&(arr>=5),arr*2,0)
print(arr1)

# 用法2
position = np.where(arr>=5)     # 返回坐标,类型元组:(array([1, 1, 2, 2, 2]), array([1, 2, 0, 1, 2])),分别代表行列地址,意思是(1,1)(1,2)(2,0)(2,1)(2,2)

for i, j in zip(position[0], position[1]):  #由坐标地址,输出元素
    x = arr[i,j]
    print(x)

numpy自带方法

示例

import numpy as np
b = np.arange(9).reshape(3, 3)
print(b)

# 选择数组中的数据
arr = b[b>5])               
arr = b[(b > 3) & (b< 6)]     # 多个判断条件:一定要记得 分开写、加括号

# 尤其注意这一行,很有用
b[(b > 3) & (b< 6)] = 0                    # 对满足条件的元素进行赋值
print('特别注意这里,很适合数据清洗:\n',b)

注意:交集使用&,并集使用|,并且用括号隔开条件,而不使用and、or

你可能感兴趣的:(科学计算matplotlib,scipy,np,pd,numpy,python,数据分析)