In breve, qual è la mia migliore opzione per un grafico di tipo di distribuzione (istogramma o kde) quando i miei dati sono ponderati?Grafici di tipo distribuzione (istogramma/kde) con dati ponderati
df = pd.DataFrame({ 'x':[1,2,3,4], 'wt':[7,5,3,1] })
df.x.plot(kind='hist',weights=df.wt.values)
Questo funziona bene, ma Seaborn non accetterà una kwarg pesi, vale a dire
sns.distplot(df.x, bins=4, # doesn't work like this
weights=df.wt.values) # or with kde=False added
Sarebbe anche bello se kde accetterebbero pesi Ma né i panda né Seaborn sembra permetterlo.
Mi rendo conto che i dati potrebbero essere espansi per simulare la ponderazione e che è facile qui ma non di molto uso con i miei dati reali con pesi in centinaia o migliaia, quindi non sto cercando una soluzione del genere.
In ogni caso, questo è tutto. Sto solo cercando di scoprire cosa (se non altro) posso fare con i dati ponderati oltre all'istogramma di base dei panda. Non ho ancora ingannato con bokeh, ma sono anche i suggerimenti bokeh.
Sì, grazie, che è utile. Non ero sicuro di come passare il kwarg a matplotlib. Ora avrò una votazione in anticipo, ma lascerò aperto un po 'più a lungo nel caso qualcuno abbia idee su kde o simili. – JohnE
Seaborns kde plots usa i modelli statici del pacchetto python per i calcoli. Le funzioni rilevanti prendono un argomento di pesi, ma sembra che questo non venga inoltrato da Seaborn. I file sorgente rilevanti: https://github.com/mwaskom/seaborn/blob/master/seaborn/distributions.py e https://github.com/statsmodels/statsmodels/blob/master/statsmodels/nonparametric/kde.py – hitzg
OK, grazie. Sembra che i pesi non siano ancora stati implementati (non posso dirlo con certezza da una rapida scrematura). Ad ogni modo, lo chiudo ora e forse faccio una domanda più incentrata su kde in un secondo momento. – JohnE