python numpy模块学习

这篇博客介绍了在Python数据分析中使用numpy模块的一个小技巧。通过与常量比较,如`year_arr == 2010`,可以快速筛选出满足条件的数组元素,并返回一个新的numpy.ndarray对象。这种方法在处理多维数组时非常实用,例如,当需要根据某个月份(如month==1)获取相应票数数据时,可以便捷地完成数据筛选,极大地简化了数据分析过程。
摘要由CSDN通过智能技术生成

看python数据分析项目发现了一个小技巧

import numpy as np
data_arr = np.random.rand(3,3)
print(data_arr)
year_arr = np.array([[2000, 2001, 2000],
                     [2005, 2002, 2009],
                     [2001, 2003, 2010]])
filtered_arr = data_arr[year_arr >= 2010]
print (filtered_arr)

看上面这段代码首先它引入了numpy模块然后创建了一个data_arr的3行3列的维数组对象

这个多维数组的对象与下面year_arr多维数组对象的维度是一致的

下面有一行代码可能会让人感到费解

[year_arr == 2010] 这种对象与常量比较的方法我在java或者C++中都没有见过初看有点懵

其实它是内部帮你做了一个判断,将year_arr中的元素满足 >= 2010的下标在data_arr中对应的值都返回

了回来组成了一个新的numpy.ndarray对象然后这个对象就被赋值给了filtered_arr

下面贴出运行结果大家一看肯定就明白了

[[0.98282246 0.23384097 0.81657954]
 [0.11019522 0.92868591 0.37159415]
 [0.30358206 0.71143007 0.00779396]]
[0.00779396]

第一个长的括号是原来的data_arr,因为year_arr中满足元素>=2010的下标只有最后一个

所以最后filtered_arr中也只有data_arr中最后一个下标所对应的值</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值