Python入门教程(六):Numpy计算之布尔运算

点击上方 蓝字 关注我们

‍‍‍‍‍什么是布尔运算?

布尔运算是一种关系运算,包括以下几类:

对于布尔类型boolean,永远只有true和false两个值。

比较运算符:>,>=,<,<=,==,!=

与运算 &&

或运算 ||

非运算 !

什么是布尔掩码?

布尔掩码是基于规则来抽取,修改,计数或者对一个数组中的值进行其他操作,例如,统计数组中有多少大值于某一个值给定的值,或者删除某些超出门限的异常值。

01

引言:统计下雨天示例

假设你有一系列某城市一年内日降水量的数据,这份数据包含了2014年1月1日到2014年12月31每天的降水量,单位英寸。

import numpy as np
import pandas as pd
# use pandas to extract rainfall inches as a NumPy array
rainfall = pd.read_csv('data/Seattle2014.csv')['PRCP'].values
inches = rainfall / 254.0  # 1/10mm -> inches
inches.shape
# (365,)

我们用matplotlib可视化,生成下雨天数量的直方图。

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn; seaborn.set()  # set plot styles
plt.hist(inches, 40);


但是这个直方图表明2014年在西雅图大多数时间降水量为0,这样并不能很好地传达信息,例如我们并不知道这些下雨天的一个平均降水量,有多少天的降水量超过一英寸?

计算上述问题呢,我们可以使用通用的传统计算方式实现,即对所有数据循环,当碰到数据落在我们希望的区间时计数器加1。这种方法从计算结果的角度看,不仅浪费时间而且效率极低。

如果我们使用Numpy的通用函数可以用来替代循环,以实现快速的数组的逐元素比较,同样地,我们也可以用掩码来解决这些问题。

02

布尔运算与基础函数的比较

布尔运算是一种关系运算,包括以下几类:

对于布尔类型boolean,永远只有true和false两个值。

比较运算符:>,>=,<,<=,==,!=

与运算 &&

或运算 ||

非运算 !

这些运算的结果是一个布尔数据类型的数组,一共有一下操作

x = np.array([1, 2, 3, 4, 5])
x < 3  # 小于
# array([ True,  True, False, False, False], dtype=bool)


x > 3  # 大于
# array([False, False, False,  True,  True], dtype=bool)


  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据万花筒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值