- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有没有一种方便的方法来拆分数组,使得无论每个部分中的元素数量如何,它包含的值的范围都是相同的?
假设我们有 (0, 100) 范围内的数据。设数组大小为1000,前500个元素都在(0, 20),后300个元素在(20, 40),以此类推。我想操纵按 20、40、60 和 80 分割的小节中的值。
数据可能看起来像这样:
1st div: 0, 0, 0, ... 17, 18
2nd div: 22, 22, 24, ... 37, 39
3rd div: 40, 41, 41, ... 55, 59
4th div: 65, 68, 73, 76, 76
5th div: 93, 96
按部分大小将数组分成大小相等的部分非常容易。但我正在使用一些简单的平均值绘制趋势线,每个部分的数据量各不相同。我知道 split 点。
它可以用 np.where
和类似 arr > border1
的条件来制作,只取第一个元素,合并然后拆分,但这看起来像一个长 -种做事方式。
任何指针将不胜感激。我不能是唯一遇到这个问题的人。此外,如果另一个图书馆做这种事情,我当然愿意使用它。
最佳答案
使用np.searchsorted
获取那些将分成组的索引,然后使用 np.split
-
In [41]: np.random.seed(0)
In [42]: a = np.sort(np.random.randint(0,100,(10000)))
In [43]: bins = [20,40,60,80]
In [46]: idx = np.searchsorted(a, bins)
In [47]: np.split(a,idx)
Out[47]:
[array([ 0, 0, 0, ..., 19, 19, 19]),
array([20, 20, 20, ..., 39, 39, 39]),
array([40, 40, 40, ..., 59, 59, 59]),
array([60, 60, 60, ..., 79, 79, 79]),
array([80, 80, 80, ..., 99, 99, 99])]
关于python - 按值拆分为等份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50461784/
有一个带有 li 和 ul 标签的菜单 one two 1
我正在从点 A(x1,y1) 到点 B(x2,y2) 画一条线。现在我需要把这条线分成 n 等份。线不是直的,所以我无法根据 x 轴和宽度计算点。我画线如下: let lineTop = DrawFi
例如,我有一个矩形: CSS: #rec { width: 100px; height: 100px; background: black; border: solid; bo
我想拆分一个大型文本数据库(约 1000 万行)。我可以使用这样的命令 $ sed -i -e '4 s/(dB)//' -e '4 s/Best\ unit/Best_Unit/' -e '1,3
我想将 bootstrap 行分成 5 等份。它包括 12-col-md,那么我如何将它分成相等的 5 个部分? 谁能帮我解决这个问题? 最佳答案 解决这个问题的一个好方法是 here ! By de
我有一个像这样的 ruby 字符串: str = "AABBCCDDEEFFGGHHIIJJ01020304050607080910" # 20 letters and 20 numbers in
我正在使用 Open CV 进行图像处理,但在将图像分成四等份或四象限时遇到问题。 我必须在 C++ 代码中执行此过程,请问有人可以帮助我吗? 最佳答案 最好用Mat::(Range rowRange
Growing Circles JavaScript var canvas = document.getElementById( "c" ),
我有一个包含 44150 行的 pandas Dataframe。 我想分成子数据帧,每个子数据帧包含 100 行,除了最后一个必须包含 50 行。 我尝试过使用numpy.array_split,但
我是一名优秀的程序员,十分优秀!