我得到了6056卷的價格數據,並且我想要在每個倉中創建20個具有相同數據量的倉(倉),找到每個倉內的平均交易量和價格,並繪製一個體積(x軸)圖價格(Y軸)編輯:Python如何創建等量數據的箱子並繪製它們?
我想修改我的代碼來改變時間間隔,以便它可以包含相同數量的數據點
間隔不必爲等間隔。我想有相同數量的每個間隔的數據,並確定每個區間的範圍,然後找到每個區間內的數據的平均值,並繪製它
我當前的代碼是:
dat = df['Volume_norm']
def discretize(data, bins):
split = np.array_split(np.sort(data), bins)
cutoffs = [x[-1] for x in split]
cutoffs = cutoffs[:-1]
discrete = np.digitize(data, cutoffs, right=True)
return discrete, cutoffs
discrete_dat, cutoff = discretize(dat, 50)
df = pd.DataFrame({'X' : TradeN['Volume_norm'], 'Y' : TradeN['dMidP']}) #we build a dataframe from the data
data_cut = pd.cut(dat,Cutoff) #we cut the data following the bins #we cut the data following the bins
grp = df.groupby(by = data_cut) #we group the data by the cut
ret = grp.aggregate(np.mean)
然而,當我計數中的數據,這將返回我:
Counter({Interval(0.376, 0.46400000000000002, closed='right'): 2065,
Interval(0.83899999999999997, 0.92800000000000005, closed='right'): 563,
Interval(0.046399999999999997, 0.0557, closed='right'): 63,
Interval(0.56100000000000005, 0.67200000000000004, closed='right'): 121,
Interval(0.46400000000000002, 0.51000000000000001, closed='right'): 145,
Interval(0.11600000000000001, 0.14399999999999999, closed='right'): 105,
Interval(0.013899999999999999, 0.023199999999999998, closed='right'): 144,
Interval(0.14399999999999999, 0.186, closed='right'): 119,
Interval(0.186, 0.23200000000000001, closed='right'): 134,
,這意味着在每個範圍的數據的數目仍然是各色NT
在一般情況下,您無法同時滿足等間隔的箱的約束以及包含相同數量的數據點的箱。 - 請澄清你的問題,明確說明你想要什麼,或發佈你的數據集。 –
抱歉的混淆。我不想創建等間隔的垃圾箱,所以我試圖修改我的代碼來更改間隔,以便它可以包含相同數量的數據點 – bing
您真正想要的內容仍不清楚。 –