Numpy方法将实数分成n个相等的部分?

时间:2014-02-28 03:45:49

标签: python numpy split

我正在寻找以下内容:

numpy.split_equal(1.0, 3)
#[0.3333, 0.6666, 1.0]

感谢所有方向。

2 个答案:

答案 0 :(得分:2)

也许numpy.linspace

import numpy as np

def split_into_parts(number, n_parts):
    return np.linspace(0, number, n_parts+1)[1:]

结果:

>>> split_into_parts(1, 3)
array([ 0.33333333,  0.66666667,  1.        ])

答案 1 :(得分:1)

你真的,真的不需要为此而烦恼。一点儿都没有。您可以使用基本算术:

def split_equal(value, parts):
    value = float(value)
    return [i*value/parts for i in range(1,parts+1)]

例如:

>>> split_equal(1, 3)
[0.3333333333333333, 0.6666666666666666, 1.0]