首页
学习
活动
专区
工具
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列表如何被索引的列表为每个项目保持一个顺序。

29420

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

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

1.9K10

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

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

4.1K10

看图学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以及它们何时适用,但也知道如何在需要更精准的行为时使用更低级别的功能。

60720

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多个数组进行求和运算操作。

14710

Python中的循环-比较和性能

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

3.3K20

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.3K30

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

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

1.2K20

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

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

4.2K32

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

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

10.1K40

53个Python经典面试题详解

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

6.9K30

Python 内置数据结构

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

81320

教程|Python Web页面抓取:循序渐进

这次会概述入门所需的知识,包括如何从页面源获取基于文本的数据以及如何将这些数据存储到文件中并根据设置的参数输出进行排序。最后,还会介绍Python Web爬虫的高级功能。...应该检查实际上是否有分配给正确对象的数据,并正确地移动到数组。 检查在前面步骤中采集数据是否正确的最简单方法之一是“打印”。...“Names”是列的名称,“results”是要打印的列表。pandas可以创建多列,但目前没有足够的列表利用这些参数。...因为从同一类中获取数据仅意味着附加到另一个列表,所以应尝试从另一类中提取数据,但同时要维持表的结构。 显然,需要另一个列表储存数据。...所以,构建循环和要访问的URL数组即可。 ✔️创建多个数组存储不同的数据集,并将其输出到不同行的文件中。一次收集几种不同类型的信息电子商务获取数据而言很重要。 ✔️Web爬虫工具自动运行,无需操作。

9.2K50
领券