如何使用给定最大值的随机舍入值创建列表

时间:2017-10-05 06:49:50

标签: python pandas numpy dataframe random

我想创建一个长度为4的列表

我有一个df,

        contents    values
    0   A           484
    1   B           429
    2   C           130
    3   D           108
    4   E           77
    5   F           2

我想为这些值定义bin范围。 我试图在这些值所处的范围内得到一个df 在这里,我的最大值为484。

  my_max=468, it should give round-off values in the list

  my desired output is, output_list=[0,100,300,500]

2 个答案:

答案 0 :(得分:1)

如果您知道最多有三位数字,那么您可以使用:

int(round(484,-2))

输出:

=> 500

此函数的推广是(用值替换484):

int(round(484,-(len(str(484))-1)))

输出:

=> 500

答案 1 :(得分:1)

使用np.linspace

In [1212]: np.linspace(0, round(df['values'].max(), -2), len(df))
Out[1212]: array([   0.,  100.,  200.,  300.,  400.,  500.])