python - 将一个数组中的唯一值映射到另一个数组的相应总和

标签 python arrays pandas list numpy

我有两个数组。下面显示的是每个预览:

[0.25 0.5  0.75 ... 0.   0.   0.25]
[0.51725357 0.51725357 0.51725357 ... 0.56406901 0.51725357 0.51725357]

您可能会注意到第二个数组的值经常重复。我想做的是创建两个相同长度的新数组。一个数组将由我列出的第二个数组中的所有唯一值组成。另一个数组将由第一个数组中与第二个数组中的唯一值相对应的所有值的总和组成。

例如,在我显示的数组中,0.51725357 与第一个数组的累积和为 1.75,因此如果 0.51725357 是第一个新数组中的第一个条目,那么 1.75 将是第二个数组中的第一个值的新阵列。

我知道我的措辞不够好,但希望我的问题足够清楚。谢谢你。使用任何包都可以。

最佳答案

既然你对任何包都开放,我建议使用 pandas 来实现 groupby 功能:

import pandas as pd

# just for display purposes:
>>> pd.options.display.precision = 10

l1 = [0.25 ,0.5 , 0.75,0.   ,0.   ,0.25]
l2 = [0.51725357 ,0.51725357 ,0.51725357,0.56406901 ,0.51725357, 0.51725357]

>>> pd.DataFrame({"l1": l1, "l2": l2}).groupby("l2").sum()
 
              l1
l2              
0.51725357  1.75
0.56406901  0.00

关于python - 将一个数组中的唯一值映射到另一个数组的相应总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67811530/

相关文章:

python - 如何在简单的 Kivy 应用程序中将 Pandas Dataframe 显示为表格?

python - 将逻辑回归从 R 迁移到 rpy2

arrays - 检查非可选字符串数组在特定索引 Swift 处是否为空。不使用计数功能

java - 将原数组中的值替换为新数组

python - 日期列上的左合并在 Pandas 中表现得很奇怪

python - 过滤 Pandas 系列数组

python - 是否有适用于 Python 的范围分析器?

python - _tkinter.TclError : bitmap "pyimage2" not defined

python - 在 pythran 中使用日期时间

javascript - 如何在javascript中过滤对象子数组的数组和对象子数组的数组