Ich habe ein Streudiagramm von Volumen (X-Achse) gegen Preis (dMidP, Y-Achse) Streudiagramm, und ich möchte die X-Achse in 30 gleichmäßig verteilt Abschnitte teilen Für den gesamten Bereich und Durchschnitt der Werte, dann plotten Sie den Durchschnittswert Ie jedoch die roten Punkte Python Binning: wie der Bereich zu erhöhen
, wenn ist = 30: nur die Handlung einen kleinen Bereich von x deckt
dann erhöhe ich ist bis 100 (die Leitung ist weniger glatt
wissen Sie, warum der Wechsel x Bereich
?------------------ Aktualisierung ----------------------------- ------------
Code:
df = pd.DataFrame({'X' : np.log(TradeNa['Volume']), 'Y' : TradeNa['dMidP']})
data_cut = pd.cut(df.X, np.linspace(df.X.min(), df.X.max(), 30)) #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) #we produce an aggregate representation (median) of each bin
plt.loglog(np.log(TradeNa['Volume']),TradeNa['dMidP'],'o')
plt.loglog(ret.X,ret.Y,'r-')
plt.show()
Bitte geben Sie Ihren Code in Ihre Fragen ein. Geben Sie an, welche Bibliothek Sie verwenden. – Lescurel
fertig, danke für die Erinnerung an mich – bing