私は10個のビンを持っています:
bins = [0,1,2,3,4,5,6,7,8,9]
25個の値のリストがあります。
values = [10,0,0,14,14,123,235,0,0,0,0,0,12,12,1235,23,234,15,15,23,136,34,34,37,45]
各値がそのビンにグループ化されるように、値を順番にビンにビニングしたいと思います。
binnedValues = [[10,0],[0,14,14],[123,235],[0,0,0],[0,0],[12,12,1235],[23,234],[15,15,23],[136,34,34],[37,45]]
ご覧のとおり、ビン内の値の数は必ずしも同じではありません(としてlen(values) != len(bins)
)
また、サイズの異なるさまざまな値のリストがたくさんあります。したがって、同じ数のビンに対してこれを何度も実行する必要がありますが、値リストの長さは異なります。上記は例です-実際のビンサイズは10kで、実際のlen(values)は〜10kから〜750kです。
これを一貫して行う方法はありますか?値の順序を維持する必要がありますが、値リストを均等に分割して、各ビンに分散される値の範囲の「公平」と「偶数」の数が存在するようにします。
numpy.digitizeを使用できると思いますが、見てみると、「ビニングされた」リストを生成する方法がわかりません。