পূর্বনির্ধারিত বাক্সগুলিতে একটি অ্যারে গড়ে গড়ে তোলার আরও কার্যকর উপায় আছে কি? উদাহরণস্বরূপ, আমার সংখ্যার একটি অ্যারে এবং বিন অ্যারে এবং বিনের সূচনা এবং শেষ অবস্থানগুলির সাথে সম্পর্কিত একটি অ্যারে রয়েছে, এবং আমি কেবল এই বিনগুলিতে গড়টি নিতে চাই? আমার নীচে কোড রয়েছে যা এটি নীচে করে তবে আমি ভাবছি কীভাবে এটি কেটে ফেলা যায় এবং উন্নত করা যায়। ধন্যবাদ।
from scipy import *
from numpy import *
def get_bin_mean(a, b_start, b_end):
ind_upper = nonzero(a >= b_start)[0]
a_upper = a[ind_upper]
a_range = a_upper[nonzero(a_upper < b_end)[0]]
mean_val = mean(a_range)
return mean_val
data = rand(100)
bins = linspace(0, 1, 10)
binned_data = []
n = 0
for n in range(0, len(bins)-1):
b_start = bins[n]
b_end = bins[n+1]
binned_data.append(get_bin_mean(data, b_start, b_end))
print binned_data