[PYTHON] Agrégation et visualisation des nombres accumulés

Nous utiliserons les données suivantes.

x = [i for i in range(1,11)]
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Je souhaite créer une fonction de distribution cumulative pour les valeurs contenues dans cette variable x.

Lors de l'utilisation de la fonction cumsum des pandas

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt


x = [i for i in range(1,11)]

df = pd.DataFrame(x, columns=['x'])
df["cumsum"] = df.x.cumsum() #Ajouter la somme cumulée
df["cumsum_ratio"] = df.x.cumsum()/sum(df.x) #Probabilité d'atteindre la valeur de Cumsum

En conséquence, df a la structure suivante. (L'index n'est pas affiché)

x cumsum cumsum_ratio
1 1 0.018182
2 3 0.054545
3 6 0.109091
4 10 0.181818
5 15 0.272727
... ... ...

Vous pouvez dessiner ceci.

fig, ax = plt.subplots(figsize=(4, 4))
ax.set_xlabel('Value')
ax.set_ylabel('Cumulative Frequency') 
ax.set_xlim(0,10)
ax.scatter(df.x, df.cumsum_ratio, color="blue",s=10) 
ax.plot(df.x, df.cumsum_ratio, color="blue", marker='o',markersize=1) 

aaa

Lors de l'utilisation de la fonction stats.cumfreq de scipy

https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.cumfreq.html

Il ne s'agit pas d'une fonction de distribution cumulative, mais elle peut être utilisée comme suit.

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

x = [i for i in range(1,11)]

res = stats.cumfreq(x, numbins=10)
x_ = res.lowerlimit + np.linspace(0, res.binsize*res.cumcount.size, res.cumcount.size)


x_1 = np.arange(counts.size) * binsize + start 

fig, ax = plt.subplots(figsize=(4, 4))
ax.plot(x_, res.cumcount, 'ro')
ax.set_title('Cumulative histogram')
ax.set_xlim([x_.min(), x_.max()])

hogehoge

Recommended Posts

Agrégation et visualisation des nombres accumulés
Visualisation de corrélation entre la quantité de caractéristiques et la variable objective
Visualisation des cartes et des filtres des fonctionnalités CNN (Tensorflow 2.0)
Nombres premiers et fractions
Analyse des données financières par pandas et leur visualisation (2)
Analyse des données financières par pandas et leur visualisation (1)
Discrimination des nombres premiers
Vue d'ensemble et astuces de Seaborn avec visualisation de données statistiques
[Ingénierie de contrôle] Visualisation et analyse du contrôle PID et de la réponse par étapes
Visualisation de la connexion entre le malware et le serveur de rappel
Comment visualiser les données par variable explicative et variable objective
Jugement négatif / positif des phrases et visualisation des motifs par Transformer
Utilisation de MLflow avec Databricks ② --Visualisation des paramètres expérimentaux et des métriques -
Jugement négatif / positif des phrases par BERT et visualisation des motifs
La loterie est-elle rentable? ~ LOTO7 et la loi des grands nombres ~
Le problème des menteurs et de l'honnêteté
Comprendre t-SNE et améliorer la visualisation
Mécanisme de pyenv et virtualenv
Pré-traitement et post-traitement de pytest
Combinaison de récursif et de générateur
Combinaison de anyenv et direnv
Visualisation des données par préfecture
Différenciation du tri et généralisation du tri
Coexistence de pyenv et autojump
Utilisation et intégration de "Shodan"
Le problème des menteurs et de l'honnêteté
Occurrence et résolution de tensorflow.python.framework.errors_impl.FailedPreconditionError
Visualisation des compétences possédées [suite]
Comparaison d'Apex et de Lamvery
Installation source et installation de Python
Introduction et astuces de mlflow.