资讯专栏INFORMATION COLUMN

numpy数组-过滤数组

n7then / 681人阅读

摘要:可以使用一个数组作为索引数组去过滤原数组索引数组里为的值保留为的值去掉使用索引数组通过对原数组进行向量化运算得到索引数组通过对某一数组进行向量化运算得到索引数组一个例子个学生在课程上所花费的时间个学生参加学习的天数计算参加课程大于等于天的学

可以使用一个numpy数组作为索引数组去过滤原数组,索引数组里为true的值,保留,为false的值去掉

import numpy as np

使用索引数组

a = np.array([1, 2, 3, 4])
b = np.array([True, True, False, False])
print a[b]                                       #[1 2]
print a[np.array([True, False, True, False])]    #[1 3]

通过对原数组进行向量化运算得到索引数组

a = np.array([1, 2, 3, 2, 1])
b = (a >= 2)
print a[b]            #[2 3 2]
print a[a >= 2]       #[2 3 2]

通过对某一数组进行向量化运算得到索引数组

a = np.array([1, 2, 3, 4, 5])
b = np.array([1, 2, 3, 2, 1])
print b == 2      #[False True False True False]
print a[b == 2]   #[2 4] 

一个例子:

# 20个学生在课程上所花费的时间
time_spent = np.array([
       12.89697233,    0.        ,   64.55043217,    0.        ,
       24.2315615 ,   39.991625  ,    0.        ,    0.        ,
      147.20683783,    0.        ,    0.        ,    0.        ,
       45.18261617,  157.60454283,  133.2434615 ,   52.85000767,
        0.        ,   54.9204785 ,   26.78142417,    0.
])

# 20个学生参加学习的天数
days_to_cancel = np.array([
      4,   5,  37,   3,  12,   4,  35,  38,   5,  37,   3,   3,  68,
     38,  98,   2, 249,   2, 127,  35
])

def mean_time_for_paid_students(time_spent, days_to_cancel):
    """
    计算参加课程大于等于7天的学生平均在课程上所花的时间
    """
    index_array = days_to_cancel >= 7
    mean_time = time_spent[index_array].mean()
    return mean_time

print(mean_time_for_paid_students(time_spent, days_to_cancel))

# 结果: 41.0540034855

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41803.html

相关文章

  • Python中的十大图像处理工具

    摘要:之成为图像处理任务的最佳选择,是因为这一科学编程语言日益普及,并且其自身免费提供许多最先进的图像处理工具。该库包含基本的图像处理功能,包括点操作使用一组内置卷积内核进行过滤以及颜色空间转换。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019442221);编译:张秋玥、小七、蒋宝尚 本...

    yuanxin 评论0 收藏0
  • python_pandas学习

    摘要:的名称来自于面板数据和数据分析。以下的内容主要以为主。终端输入导入相关模块是一种类似于一维数组的对象,它由一组数据各种数据类型以及一组与之相关的数据标签即索引组成。如果仅传入一个序列,则会重新索引行函数的参数参数说明用作索引的新序列。 原文链接 numPy pandas的数据结构介绍 简介 Pandas [1] 是python的一个数据分析包,最初由AQR Capital Mana...

    codercao 评论0 收藏0
  • 常用的十大python图像处理工具

    摘要:但无论是用于何种用途,这些图像都需要进行处理。图像处理中的常见任务包括显示图像,基本操作如裁剪翻转旋转等,图像分割,分类和特征提取,图像恢复和图像识别。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019631626); 原文标题:10 Python image manipulation...

    Crazy_Coder 评论0 收藏0
  • python数学建模是加深Numpy和Pandas学习

      小编写这篇文章的主要目的,主要是来给大家去做一个介绍的,介绍的内容主要还是涉及到python的一些相关事情,比如我们可以利用python去进行搭建数字建模的相关平台。其中,主要的内容有加深Numpy和Pandas的相关学习,具体内容,下面给大家详细解答下。  Numpy学习  #Numpy的基本使用   '''   Numpy提供了两种基本的对象:ndarray存储单一...

    89542767 评论0 收藏0
  • NumPy 基本切片和索引

    摘要:有三种可用的索引字段访问,基本切片,高级索引。基本切片和索引基本切片将的切片基本概念扩展到维。基本切片生成的所有数组始终是原始数组的视图。序列切片的标准规则适用于基于每维的基本切片包括使用步骤索引。因此,在基本切片下的行为。 https://docs.scipy.org/doc/nu... 索引 ndarrays可以使用标准Python x[obj]语法对其进行索引 ,其中x是数组,o...

    lemon 评论0 收藏0

发表评论

0条评论

n7then

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<