np.histogram
-ի ելքը իրականում ունի 10 աղբարկղ; վերջին (ամենաաջ) աղբարկղը ներառում է ամենամեծ տարրը, քանի որ դրա աջ եզրը ներառական է (ի տարբերություն այլ աղբարկղերի):
np.digitize
մեթոդը նման բացառություն չի անում (քանի որ դրա նպատակը տարբեր է), ուստի ցուցակի ամենամեծ տարրը (ներ)ը տեղադրվում են լրացուցիչ աղբարկղում: Աղբարկղերի նշանակումները ստանալու համար, որոնք համապատասխանում են histogram
-ին, պարզապես սեղմեք digitize
-ի ելքը աղբարկղերի քանակով, օգտագործելով fmin
:
A = range(1,94)
bin_count = 10
hist = np.histogram(A, bins=bin_count)
np.fmin(np.digitize(A, hist[1]), bin_count)
Արդյունք:
array([ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,
4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8,
8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10])
30.11.2016