首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python -根据np.histogram如何分配另一个列表列表/数组来对列表/数组求和

根据np.histogram函数的返回结果,可以得到一个包含两个数组的元组,第一个数组表示数据的频次,第二个数组表示数据的区间边界。如果想要根据这个频次数组来对另一个列表或数组进行求和,可以使用numpy的digitize函数来实现。

digitize函数可以根据给定的区间边界将数据分配到对应的区间中,并返回一个新的数组,表示每个数据所属的区间索引。然后,可以使用这个索引数组来对另一个列表或数组进行求和操作。

以下是一个示例代码:

代码语言:txt
复制
import numpy as np

# 原始数据列表或数组
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 使用np.histogram函数计算频次和区间边界
hist, bins = np.histogram(data, bins=5)

# 要求和的另一个列表或数组
values = [0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5]

# 使用np.digitize函数将values分配到对应的区间中
indices = np.digitize(values, bins)

# 根据indices对values进行求和
sum_values = np.bincount(indices, weights=values)

print(sum_values)

输出结果为:

代码语言:txt
复制
[1.  4.5 9.5 6.5 9.5]

在这个示例中,原始数据列表为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],使用np.histogram函数将其分成5个区间。另一个要求和的列表为[0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5],使用np.digitize函数将其分配到对应的区间中得到索引数组[1, 1, 2, 2, 3, 3, 4, 4, 5, 5],然后使用np.bincount函数对values进行求和,得到[1.0, 4.5, 9.5, 6.5, 9.5]。

这样就根据np.histogram的结果,将另一个列表或数组进行了求和。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Python 中如何向列表或数组添加元素

    1.Python 中的列表是什么?给初学者的定义编程中的数组是一个有序的项目集合,所有的项目都需要是相同的数据类型。然而,与其它编程语言不同,数组在 Python 中不是一个内置的数据结构。...Python 使用列表取代传统的数组。列表本质上是动态数组,是 Python 中最常见的和最强大的数据结构之一。你可以把它们想象成有序的容器。它们将同类相关的数据存储和组织在一起。...存储在一个列表中的元素可以是任何数据类型。可以有整数列表、浮点数列表、字符串列表,以及任何其它内置 Python 数据类型的列表。尽管列表有可能只容纳相同数据类型的项目,但它们比传统的数组更灵活。...如何在 Python 中创建列表要创建一个新的列表,首先给这个列表起一个名字。然后添加赋值运算符(=)和一对有开头和结尾的方括号。在方括号内添加你希望列表包含的值。...'Kenny', 'Lenny']在 Python 中列表是如何被索引的列表为每个项目保持一个顺序。

    35820

    5种方法教你用Python玩转histogram直方图

    下面让我们来将 np.histogram() 的内部进行解剖,看看到底是如何实现的(以最前面提到的a列表为例)。...使用Matplotlib和Pandas可视化Histogram 从上面的学习,我们看到了如何使用Python的基础工具搭建一个直方图,下面我们来看看如何使用更为强大的Python库包来完成直方图。...distplot方法默认的会绘制kde,并且该方法提供了 fit 参数,可以根据数据的实际情况自行选择一个特殊的分布来对应。...至此,我们了解了很多种方法来实现一个直方图。但是它们各自有什么有缺点呢?该如何对它们进行选择呢?...当然,一个方法解决所有问题是不存在的,我们也需要根据实际情况而考虑如何选择,下面是对一些情况下使用方法的一个推荐,仅供参考。

    2K10

    5种方法教你用Python玩转histogram直方图

    下面让我们来将 np.histogram() 的内部进行解剖,看看到底是如何实现的(以最前面提到的a列表为例)。...使用Matplotlib和Pandas可视化Histogram 从上面的学习,我们看到了如何使用Python的基础工具搭建一个直方图,下面我们来看看如何使用更为强大的Python库包来完成直方图。...distplot方法默认的会绘制kde,并且该方法提供了 fit 参数,可以根据数据的实际情况自行选择一个特殊的分布来对应。...至此,我们了解了很多种方法来实现一个直方图。但是它们各自有什么有缺点呢?该如何对它们进行选择呢?...当然,一个方法解决所有问题是不存在的,我们也需要根据实际情况而考虑如何选择,下面是对一些情况下使用方法的一个推荐,仅供参考。

    4.3K10

    看图学NumPy:掌握n维数组基础知识点,看这一篇就够了

    Numpy数组与Python列表 在介绍正式内容之前,先让我们先来了解一下Numpy数组与Python列表的区别。 乍一看,NumPy数组类似于Python列表。...因此,常见的做法是定义一个Python列表,对它进行操作,然后再转换为NumPy数组,或者用np.zeros和np.empty初始化数组,预分配必要的空间: ?...pd.DataFrame(a).sort_values().to_numpy():通过从左向右所有列进行排序 高维数组运算 通过重排一维向量或转换嵌套的Python列表来创建3D数组时,索引的含义为(z...如果不方便使用axis,可以将数组转换硬编码为hstack的形式: ? 这种转换没有实际的复制发生。它只是混合索引的顺序。 混合索引顺序的另一个操作是数组转置。检查它可能会让我们对三维数组更加熟悉。...最后,还有一个函数,可以在处理多维数组时节省很多Python循环,并使代码更简洁,这就是爱因斯坦求和函数einsum: ? 它将沿重复索引的数组求和。

    6K20

    数据科学 IPython 笔记本 9.9 花式索引

    探索花式索引 花式索引在概念上很简单:它意味着传递索引数组来同时访问多个数组元素。...我们可以这样做: [x[3], x[7], x[2]] # [71, 86, 14] 或者,我们可以传递单个列表或索引数组来获得相同的结果: ind = [3, 7, 4] x[ind] # array...花式索引中的索引对遵循“数组计算:广播”中提到的所有广播规则。...对大型数据集有效的算法,并不总是小数据集的最佳选择,反之亦然(参见“大 O 记号”)。但是自己编码这个算法的好处是,通过理解这些基本方法,你可以使用这些积木来扩展它,来做一些非常有趣的自定义行为。...在数据密集型应用中有效使用 Python 的关键是,了解一般的便利例程,如np.histogram以及它们何时适用,但也知道如何在需要更精准的行为时使用更低级别的功能。

    63120

    NumPy学习笔记—(33)

    3.2.高级复合类型 3.3.记录数组:面向对象的结构化数组 1.高级索引 在前面的小节中,我们学习了如何获取和修改数组的元素或部分元素,我们可以通过简单索引(例如arr[0]),切片(例如arr[:...这些都是为了完成一件工作的:对数组进行排序。 例如,一个简单的选择排序会重复寻找列表中最小的值,然后和当前值进行交换,直到列表排序完成。...大 O表示法经常用来对算法性能进行定量分析(参见大 O 复杂度),选择排序平均需要 :如果列表中的元素个数加倍,执行时间增长大约是原来的 4 倍。...2.1.NumPy 中快速排序:np.sort 和 np.argsort 虽然 Python 有內建的sort和sorted函数可以用来对列表进行排序,我们在这里不讨论它们。...虽然使用广播和逐行排序的方式完成任务可能没有使用循环来的直观,但是在 Python 中这是一种非常有效的方式。

    2.3K20

    python数据分析——数据的选择和运算

    例如,使用.loc和.iloc可以根据行标签和行号来选取数据,而.query方法则允许我们根据条件表达式来筛选数据。 在数据选择的基础上,数据运算则是进一步挖掘数据内在规律的重要手段。...而在选择行和列的时候可以传入列表,或者使用冒号来进行切片索引。...程序代码如下所示: 三、算术运算与比较运算 通过一些实例操作来介绍常用的运算函数,包括一个数组内的求和运算、求积运算,以及多个 数组间的四则运算。...【例】使用Python对给定的数组元素进行求和运算。 关键技术:可以使用Python的sum()函数,程序代码如下所示: 【例】使用Python对给定的数组元素的求乘积运算。..._NoValue'>)返回给定轴上的数组元素的乘积。程序代码 如下所示: 【例】请使用Python对多个数组进行求和运算操作。

    19310

    Python中的循环-比较和性能

    此外,根据《计算机编程艺术》中的Donald Knuth所说,“过早的优化是编程中所有(或至少其中大部分)邪恶的根源”。...毕竟,正如蒂姆·彼得斯(Tim Peters)在《 Python Zen》中所说的,“可读性至关重要”。 问题陈述 我们将尝试按元素求和两个序列。...实际上,循环以及其他对性能至关重要的操作是在numpy较低级别上实现的。numpy与纯Python代码相比,这可使例程更快。另一个优势是numpy处理变量和类型的方式。...) 按numpy元素求和两个数组x_和y_就像x_ + y_一样容易。...结论 本文比较了按元素添加两个列表或数组时Python循环的性能。结果表明,列表理解比普通的for循环要快,而while循环则要快。在所有这三种情况下,简单循环都比嵌套循环快一点。

    3.4K20

    Python数学建模算法与应用 - 常用Python命令及程序注解

    函数 bifurcate_by 返回一个包含两个子列表的列表:一个子列表包含满足条件 fn(x) 的元素,另一个子列表包含不满足条件 fn(x) 的元素。...print(c2.shape, c3.shape) # c2是(3,)数组,c3是(1,3)数组 这段代码使用了NumPy库来对矩阵进行求和操作。...然后,通过np.sum()函数对数组进行了不同的求和操作。sum_total对整个数组进行求和,结果为21。sum_row对每一列进行求和,结果为[5 7 9]。...sum_col对每一行进行求和,结果为[6 15]。 参数axis可以指定的值包括以下几种情况: 整数:可以使用0、1、2、...来指定对应的轴。...s2 = d.groupby('A').apply(sum) 这行代码根据 'A' 列的值对 DataFrame d 进行分组,并对每个分组应用 sum 函数进行求和。

    1.5K30

    【深度学习基础】预备知识 | 数据操作

    如果没有某种方法来存储数据,那么获取数据是没有意义的。   首先,我们介绍 n 维数组,也称为张量(tensor)。使用过Python中NumPy计算包的读者会对本部分很熟悉。...torch.randn(3, 4)   我们还可以通过提供包含数值的Python列表(或嵌套列表),来为所需张量中的每个元素赋予确定值。在这里,最外层的列表对应于轴0,内层的列表对应于轴1。...我们也可以把多个张量连结(concatenate)在一起,把它们端对端地叠起来形成一个更大的张量。我们只需要提供张量列表,并给出沿哪个轴连结。...X == Y   对张量中的所有元素进行求和,会产生一个单元素张量。 X.sum() 三、广播机制   在上面的部分中,我们看到了如何在相同形状的两个张量上执行按元素操作。...为了说明这一点,我们首先创建一个新的矩阵Z,其形状与另一个Y相同,使用zeros_like来分配一个全 0 的块。

    4700

    Python 刷题笔记:数组专项练习一

    所以今天起,我们也将按照专题来继续后面的刷题。今天就来数组专题,至于刷的题目,应该会比之前大大增多,看看能刷几道吧。...链接:https://leetcode-cn.com/tag/array/ ❞ 我们是 Python 来刷题,数组可以对应到 Python 中的列表,有限个类型相同的有序列表,又能够自由变换调整。...至于这种思路如何设计,在理解了其设计的思路后,我觉得可能来源于向时间列表中加入新元素后如何基于之前直接得出结果的考虑。...新加入一个元素,能与它匹配的就是余数和为 60 的,查找该余数的个数加到最终结果中,这样整个过程就可以同步到遍历时间列表中来实现了。...目前加上之前刷的三十多道,我们已经做过 16 道数组类题目了,所以明天会先换偏特定算法练习的专题来练习,之后再继续对数组类题目的探索。

    1.2K20

    53 道 Python 面试题,帮你成为大数据工程师

    请注意如何在列表上调用reverse()并对其进行突变。它不会返回变异列表本身。...现在,这两个对象是完全独立的,并且对其中任何一个所做的更改不会对另一个对象产生影响。...注意:Python的标准库有一个数组对象,但在这里我专门指的是常用的Numpy数组。 列表存在于python的标准库中。数组由Numpy定义。 列表可以在每个索引处填充不同类型的数据。...数组需要齐次元素。 列表上的算术从列表中添加或删除元素。每个线性代数的数组函数的算术运算。 阵列还使用更少的内存,并具有更多的功能。 我写了另一篇有关数组的文章。 20.如何连接两个数组?...bin(5) #=> '0b101' 34.如何从列表中删除重复的元素? 可以通过将列表转换为集合然后返回列表来完成。

    10.5K41

    python 字典的内部实现原理介绍

    python 的字典内部使用的数据结构是 hash 表 一、hash 表相关概念 哈希表其实是一个稀疏数组(总是有空白元素的数组称为稀疏数组)。...在 dict 的散列表当中,每个键值对都占用一个表元,每个表元都有两个部分,一个是对键的引用,另一个是对值的引用。因为所有表元的大小一致,所以可以通过偏移量来读取某个表元。...Python 首先会调用hash(search_key)来计算 search_key 的散列值,把这个值最低的几位数字当作偏移量,在散列表里查找表元(具体取几位,得看当前散列表的大小)。...另外在插入新值时,Python 可能会按照散列表的拥挤程度来决定是否要重新分配内存为它扩容。...举例而言,如果你需要存放数量巨大的记录,那么放在由元组或是具名元组构成的列表中会是比较好的选择;最好不要根据 JSON 的风格,用由字典组成的列表来存放这些记录。

    4.3K32

    Python 内置数据结构

    Python 内置数据结构 Python 内置了强大的数据结构,比如列表、元组、字典,让 Python 开发者处理数据时可以信手拈来,但是正是因为 Python 做了太多,让我们忽视了很多细节,本文通过解析...下面看看 list 是如何实现的。...创建列表前先在这个缓冲池中查找可用对象,如果有直接唤醒,对其 ob_item 分配空间;如果没有则另外申请内存,再对其 ob_item 分配空间。...字典 Python 中另外一种十分重要的数据结构就是字典,在各种程序中被广泛使用。而 Python 也对其进行了高度优化。为了更好的使用字典,我们来剖析字典的内部构造。...字典在每次 insert 新键值对前,都会检查 dk_entries 中可用的空间,必要时重新分配以保证至少有三分之一是可用的。

    82920

    53个Python经典面试题详解

    如何使用reverse函数反转一个列表? 下面的代码对一个列表调用reverse()函数,对其进行修改。该方法没有返回值,但是会对列表的元素进行反向排序。...如何在Python中连接列表? 将2个列表相加,就是将它们连接在一起。但请注意,数组的工作方式不是这样的。...列表和数组有什么区别? 注意:Python的标准库有一个array(数组)对象,但在这里,我特指常用的Numpy数组。 列表存在于python的标准库中。数组由Numpy定义。...如何连接两个数组? 记住,数组不是列表。数组来自Numpy和算术函数,例如线性代数。 我们需要使用Numpy的连接函数concatenate()来实现。...一个类如何继承Python的另一个类? 在下面的示例中,Audi继承自Car。继承带来了父类的实例方法。

    7.2K30
    领券