比方说,我创建了一些数据,然后创建不同大小的垃圾箱:分箱,然后用最小数量的观察结合箱子?
from __future__ import division
x = np.random.rand(1,20)
new, = np.digitize(x,np.arange(1,x.shape[1]+1)/100)
new_series = pd.Series(new)
print(new_series.value_counts())
显示:
20 17
16 1
4 1
2 1
dtype: int64
我基本上要变换的基础数据,如果我至少设置一个最低门槛2每个块,以使得new_series.value_counts()
是这样的:
20 17
16 3
dtype: int64
IIUC你可以使用'groupby'和'filter':'df.groupby('some_col')。filter(lambda x:len(x)
EdChum
你能否提供示例输出并阐明你的输入?假设'x'是你的数据,'new'是你的bin,它们不重叠,'x'是小数数组,'new'是整数数组。 “新”是垃圾箱的大小吗?开始界限在哪里? – tmthydvnprt
你能提供一个含有数据和垃圾箱的简单小数据集,然后手创建所需的输出吗?感谢将是描述你想要做什么的最清晰的方式。 – tmthydvnprt