Python Numpy数字化错误:对于所需阵列,对象深度太小

Python Numpy数字化错误:对于所需阵列,对象深度太小,python,arrays,numpy,valueerror,Python,Arrays,Numpy,Valueerror,我有一个掩蔽的数组数据,我想数字化以检查每个箱子的中值数据。 所以我试着使用下面的代码 bin_num1 = 5 bins1 = np.linspace(min(np.log10(data['vdisp'])), max(np.log10(data['vdisp'])), bin_num1) delta1 = bins1[1] - bins1[0] idx1 = np.digitize(data['vdisp'], bin_num1, right = True) running_med1 =

我有一个掩蔽的数组数据,我想数字化以检查每个箱子的中值数据。 所以我试着使用下面的代码

bin_num1 = 5

bins1 = np.linspace(min(np.log10(data['vdisp'])), max(np.log10(data['vdisp'])), bin_num1)
delta1 = bins1[1] - bins1[0]
idx1 = np.digitize(data['vdisp'], bin_num1, right = True)

running_med1 = [np.median(np.log10(prim_data['stellar_mass'])[idx1 == k]) for k in range(bin_num1)]

ax13.scatter(bins1 - delta1 / 2, running_med1, color = 'magenta')
然而,我得到了错误

idx1 = np.digitize(data['vdisp'], bin_num1, right = True)
File '/home/user/anaconda3/lib/python3.6/site-packages/numpy/lib/function_base.py', line 4799, in digitize
mono = _monotonicity(bins)
ValueError: object of too small depth for desired array
我怎样才能解决这个问题

我已经尝试了data['vdisp'].all()或.any()


谢谢你的帮助

是数据字符串中的值吗?错误发生在测试
bins
时(文档中说它必须是1d数组且单调)。你给它一个标量,5,不是数组。您是否打算使用
bins1
?是数据字符串中的值吗?在测试
bins
时会出现错误(文档称它必须是1d数组且单调的)。你给它一个标量,5,不是数组。您是否打算使用
bins1