请选择 进入手机版 | 继续访问电脑版
楼主: casey_c
7117 4

[程序分享] Numpy 数组的对比、掩码与布尔逻辑 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.0091
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

casey_c 发表于 2016-11-25 10:37:44 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在数据分析过程中,常常会遇到需要将序列中的数值元素进行对比或是加以条件判断的情况,在 Python 中可以运用 Numpy 数组的对比、掩码与布尔逻辑来解决这些问题,下面举例说明。
首先,导入所需的程序包与示例数据:
  1. import numpy as np
  2. import pandas as pd

  3. # 运用 Pandas 包的功能函数将目标数据读取为 Numpy 数组,示例数据为一份2014年的降雨量数据
  4. rainfall = pd.read_csv('data/Seattle2014.csv')['PRCP'].values
  5. inches = rainfall / 254  # 单位转换:1/10mm -> inches
  6. inches.shape
复制代码
1.png

可以看到,数据为一个长度为365的一维数组。接着,可以做一个分布直方图,以便于更直观的展示数组内容:
  1. %matplotlib inline
  2. import matplotlib.pyplot as plt
  3. import seaborn; seaborn.set()  # 设置图表样式
复制代码
  1. plt.hist(inches, 40);
复制代码
2.png

数组对比


在具体分析上述数据前,先让我们了解一下数组对比的一些基本方法,如下所示:

构造如下一维数组:

  1. x = np.array([1, 2, 3, 4, 5])
复制代码

我们可以通过以下控制符进行数组元素与特定实数的比较:

  1. x < 3  # 小于
复制代码

3.png

  1. x > 3  # 大于
复制代码

4.png

  1. x <= 3  # 小于等于
复制代码

5.png

  1. x >= 3  # 大于等于
复制代码

6.png

  1. x != 3  # 不等于
复制代码

7.png

  1. x == 3  # 等于
复制代码

8.png

通过构造代数式进行复杂的条件判断:

  1. (2 * x) == (x ** 2)
复制代码

9.png

对于多维数组,上述方法同样有效:

  1. rng = np.random.RandomState(0)
  2. x = rng.randint(10, size=(3, 4))
  3. x
复制代码

10.png

  1. x < 6
复制代码



13.png

这样的对比判断不会影响到原始数组本身:
  1. print(x)
复制代码
14.png

利用 Numpy 包中的相关函数,我们还可以对数组元素的情况进行综合的判断,进而回答一些更复杂的问题
以上内容转自 数析学院 ,后面还有很多内容,改天继续搬运

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Numpy NUM Matplotlib matplot import 布尔

12.png
11.png
已有 1 人评分经验 热心指数 收起 理由
飞天玄舞6 + 50 + 1 精彩帖子

总评分: 经验 + 50  热心指数 + 1   查看全部评分

EMUNAH777 发表于 2016-11-25 11:08:04 来自手机 |显示全部楼层 |坛友微信交流群
casey_c 发表于 2016-11-25 10:37
在数据分析过程中,常常会遇到需要将序列中的数值元素进行对比或是加以条件判断的情况,在 Python 中可以运 ...
不错有用

使用道具

casey_c 发表于 2016-11-28 17:36:56 |显示全部楼层 |坛友微信交流群
EMUNAH777 发表于 2016-11-25 11:08
不错有用

使用道具

casey_c 发表于 2016-12-1 13:41:02 |显示全部楼层 |坛友微信交流群

使用道具

TenseAboy 发表于 2018-3-1 20:33:42 |显示全部楼层 |坛友微信交流群
这是《python数据科学手册》一书中的内容,中文版刚出版,大家可以买了看看!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-18 18:42