[PYTHON] Traitement des ensembles de données avec des pandas (2)

Hier a expliqué le traitement des ensembles de données avec les pandas, mais c'est une continuation.

Normaliser les données

En fait, dans Articles jusqu'à présent, la normalisation est apparue par hasard, mais je pense qu'elle n'a pas été expliquée correctement.

** Normaliser ** dans les statistiques consiste à transformer des données de différents critères selon certains critères pour en faciliter l'utilisation.

Par exemple, disons que vous avez 90 points en japonais et 70 points en mathématiques. Si vous comparez simplement les chiffres, vous obtiendrez de meilleures notes en japonais, mais que se passe-t-il si le score moyen en japonais est de 85 et le score moyen en mathématiques est de 55? L'avantage de la normalisation est que vous pouvez comparer des données avec différents critères de cette manière.

Généralement, cela signifie convertir les valeurs pour que la moyenne soit 0 et que la variance (et l'écart type) soit 1.

Cela peut être calculé à l'aide de la formule suivante.

Normalized(A(n)) = \frac {(A(n) - μ(A))} {\sigma(A)}

Autrement dit, soustrayez la moyenne et divisez par l'écart type. Il en résulte une moyenne de 0 et un écart type de 1.

Visualisez la normalisation

Il est préférable de bouger vos mains et de tout voir. Faisons de même avec les pandas.

Commencez par diviser le bloc de données par la valeur totale dans le sens de la colonne et normaliser pour que la somme totale soit 1.

1.png

data.div(data.sum(1), axis=0)

2.png

Normaliser dans la plage de quadrants

(data - data.quantile(0.5).values) / (data.quantile(0.75)-data.quantile(0.25)).values

7.png

Conversion de journal

Logistic conversion consiste à créer une variable qui suit une distribution normale en prenant le logarithme de la variable qui suit une distribution normale logarithmique. C'est.

La conversion logistique facilite l'organisation et l'expression de petits nombres et de grands nombres.

Il peut être plus facile à comprendre s'il est exprimé en code.

data.apply(np.log)

8.png

Trouvez le taux de mouvement

Le taux de mouvement (taux d'augmentation) est une valeur numérique qui indique à quel point la valeur a changé par rapport à une certaine valeur standard.

pct_change () convertit la valeur de la trame de données en taux de déplacement. Le point à garder à l'esprit est que le premier nombre n'a pas de précédent, donc la vitesse de déplacement est NaN. Le taux de mouvement est également apparu avec désinvolture dans Article précédent.

data.T.pct_change().dropna(axis=0)

Comme je l'ai présenté hier, vous pouvez créer un tableau en supprimant les valeurs manquantes. Cependant, c'est un peu déroutant car la première valeur du graphique devient grande.

9.png

Enregistrer l'historique de travail IPython

Ce n'est pas directement lié au traitement de l'ensemble de données, mais il serait pratique que les résultats des essais IPython puissent être exportés dans un fichier et enregistrés. Si vous avez effectué le bon essai, vous pouvez l'utiliser comme un script tel quel, et il sera plus réutilisable, comme l'extraction du code de l'historique de travail.

import readline
readline.write_history_file("history.py")

Cela enregistre l'historique du code que vous tapez dans IPython sous le nom history.py. C'est très pratique.

Résumé

Cette fois également, nous avons résumé divers processus souvent utilisés lors du traitement des ensembles de données.

Recommended Posts

Traitement des ensembles de données avec des pandas (1)
Traitement des ensembles de données avec des pandas (2)
Fusionner les ensembles de données avec les pandas
Conseils de traitement des données avec Pandas
Essayez rapidement de visualiser votre ensemble de données avec des pandas
Exemple de traitement efficace des données avec PANDAS
Traitement d'image avec MyHDL
Visualisez rapidement avec les pandas
Échantillonnage bootstrap avec Pandas
Convertir 202003 en 2020-03 avec les pandas
Dessinez un graphique en traitant avec Pandas groupby
Pandas apprenant avec la chimioinfomatique
Visualisation des données avec les pandas
Manipulation des données avec les Pandas!
Traitement d'image avec Python
Traitement parallèle avec multitraitement
Mélangez les données avec les pandas
100 traitement du langage knock-95 (en utilisant des pandas): Note avec WordSimilarity-353
Traitement d'image avec PIL
Traiter les données csv avec python (traitement du comptage à l'aide de pandas)
Traitement d'image avec Python (partie 2)
Lire csv avec des pandas python
Charger json imbriqué avec des pandas
Traitement parallèle avec des fonctions locales
Traitement d'image avec PIL (Pillow)
"Traitement Apple" avec OpenCV3 + Python3
Traitement du signal acoustique avec Python (2)
Traitement du signal acoustique avec Python
[Python] Changer de type avec les pandas
Traitement parallèle avec Parallel de scikit-learn
Traitement d'image avec Python (partie 1)
Traitement d'image avec Python (3)
Standardisez par groupe avec les pandas
Empêchez les omissions avec l'impression de pandas
[Python] Traitement d'image avec scicit-image
Étudiez le traitement du langage naturel avec Kikagaku
Principes de base du traitement d'image en temps réel avec opencv
Principes de base de Pandas pour les débutants ① Lecture et traitement
[Python] Traitement parallèle facile avec Joblib
Extraire la valeur maximale avec les pandas.
Principes de base de Pandas pour les débutants ⑧ Traitement des chiffres
100 traitements de langage avec Python
[Traitement du langage naturel] Prétraitement avec le japonais
Pandas
Essayez le traitement du signal audio avec librosa-Beginner
100 traitements de langage avec Python (chapitre 3)
Traçage de données polyvalent avec pandas + matplotlib
Traitement d'image avec la binarisation Python 100 knocks # 3
[Python] Joindre deux tables avec des pandas
Traitement de chemin avec take while et drop while
Créez dynamiquement de nouvelles trames de données avec des pandas
Extraire plusieurs colonnes spécifiques avec des pandas
1. Statistiques apprises avec Python 1-1. Statistiques de base (Pandas)
Analyse pratique avec Pandas + notebook Jupyter
100 traitement du langage knock-31 (en utilisant des pandas): verbe
Dessinez un graphique avec des pandas + XlsxWriter
Manipuler des chaînes avec un groupe pandas par
Bulk Insert Pandas DataFrame avec psycopg2
Je veux faire ○○ avec les Pandas
Créez une tranche d'âge avec les pandas
100 traitement d'image par Python Knock # 2 Échelle de gris