比方說,我創建了一些數據,然後創建不同大小的垃圾箱:分箱,然後用最小數量的觀察結合箱子?
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