Cris 的 Python 数据分析笔记 02:NumPy 数据定位

02. NumPy 数据定位

1. numpy 快速判断每个元素

import numpy as np

vector = np.array([1,2,3,5,2])
# array([False,  True, False, False,  True])  可以快速对 ndarray 中的每个元素进行判断,返回的是一个包含每个元素比较的列表的元祖
vector == 2

'''
    快速对二维数组中的每一个元素进行判断,返回的数据类型也是二维数组/list of list
    array([[False,  True, False],
           [False, False,  True],
           [ True,  True, False]])
'''
matrix = np.array([[1,2,3],[4,5,2],[2,2,11]])
matrix == 2
array([[False,  True, False],
       [False, False,  True],
       [ True,  True, False]])

2. numpy 判断并返回对应的元素

import numpy as np

'''
    可以对 ndarray 里的每个元素进行判断,返回的是每个元素是否符合的布尔值,将这个布尔值当作 ndarray 的索引 index 又可以找到该 ndarray 
    数据结构中所有的符合的元素并返回(往往用于二维数组)
'''
vector = np.array([1,2,3,4,2])
index = vector == 2
# [False  True False False  True]
print(index)
# [2 2]
print(vector[index])

matrix = np.array([[1,2,3],[2,2,4],[4,5,2]])
index = matrix == 2
'''
    [[False  True False]
     [ True  True False]
     [False False  True]]
'''
print(index)
# [2 2 2 2]
print(matrix[index])

# 超快速定位二维矩阵元素(牛逼!!!)
'''
    首先找到所有行的第一列,判断每个元素是否等于2,返回布尔类型的列表,然后根据返回的列表作为索引得到具有该元素的所有行,然后可以取出这些行的
    所有列的数据!
    
'''
index = matrix[:,1] == 2
# [ True  True False]
print(index)
'''
    [[1 2 3]
 [2 2 4]]
'''
print(matrix[index,:])

[False  True False False  True]
[2 2]
[[False  True False]
 [ True  True False]
 [False False  True]]
[2 2 2 2]
[ True  True False]
[[1 2 3]
 [2 2 4]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值