[PYTHON] Comment obtenir un aperçu de vos données dans Pandas

introduction

Qu'arrive-t-il à l'ensemble des données lors de l'analyse des données? Vous voudrez peut-être le confirmer. Je vais donc écrire sur la façon d'obtenir une vue d'ensemble de l'ensemble des données dans les pandas. Je vais d'abord résumer les méthodes existantes, puis je présenterai ma propre méthode.

environnement

python 3.7.4、pandas 0.25.1

Méthode existante

pandas.DataFrame a déjà les méthodes .info () et .describe () pour regrouper les données. Quelqu'un les a déjà résumés, veuillez donc vous y référer (Aperçu des données avec Pandas). Il est facile d'afficher uniquement le résultat (je suis désolé que les données soient les mêmes titanesques et ressemblent à un pakuri ...).

import pandas as pd
data = pd.read_csv("train.csv") #Lire les données
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId    891 non-null int64
Survived       891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            714 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB
data.describe()

describe.png

Méthode artisanale

Cependant, avec cela seul, il y a une légère démangeaison. Par exemple, describe () ne connaît pas les informations de type et de valeur manquante, mais il est difficile de faire à la fois info () et describe () deux fois. J'ai donc créé une méthode qui combine info () et describe ().

import numpy as np

def summarize_data(df):

    df_summary=pd.DataFrame({'nunique':np.zeros(df.shape[1])}, index=df.keys())

    df_summary['nunique']=df.nunique()
    df_summary['dtype']=df.dtypes
    df_summary['isnull']=df.isnull().sum()
    df_summary['first_val']=df.iloc[0]
    df_summary['max']=df.max(numeric_only=True)
    df_summary['min']=df.min(numeric_only=True)
    df_summary['mean']=df.mean(numeric_only=True)
    df_summary['std']=df.std(numeric_only=True)
    df_summary['mode']=df.mode().iloc[0]
    
    pd.set_option('display.max_rows', len(df.keys())) #N'omettez pas l'affichage
    
    return df_summary

summarize_data(data)

summarize.png

De plus, dans le noyau kaggle etc., l'affichage est omis lorsque le nombre de données est grand, il est donc défini de manière à ne pas être omis dans la dernière ligne de summary_df ().

Résumé

J'ai présenté la méthode existante qui résume le résumé des données de pandas.DataFrame et la méthode auto-conçue qui les combine. Non seulement vous pouvez obtenir une vue d'ensemble au début, mais vous pouvez également l'utiliser pour vérifier si la conversion d'échelle et le traitement des valeurs manquantes sont correctement effectués. Ce serait pratique d'avoir une autre colonne comme celle-ci, merci de me le faire savoir si vous en avez!

Recommended Posts

Comment obtenir un aperçu de vos données dans Pandas
Comment obtenir de l'aide dans un shell interactif
Comment obtenir le nombre de chiffres en Python
Comment écrire sobrement avec des pandas
Comment obtenir une liste d'exceptions intégrées pour python
Compagnon de science des données en python, comment spécifier des éléments dans les pandas
Comment savoir s'il y a une valeur dans "quelque part" de pandas DataFrame
Comment calculer la somme ou la moyenne des données csv de séries chronologiques en un instant
<Pandas> Comment gérer les données de séries chronologiques dans le tableau croisé dynamique
Comment créer une grande quantité de données de test dans MySQL? ??
Je vais vous expliquer comment utiliser Pandas d'une manière facile à comprendre.
Comment se débarrasser des longues inclusions
Comment obtenir stacktrace en python
Comment réattribuer un index dans pandas dataframe
Comment lire des fichiers CSV avec Pandas
Comment éliminer le "Les balises doivent être un tableau de hachages." Erreur dans l'API qiita
Comment changer plusieurs colonnes de csv dans Pandas (Unixtime-> Japan Time)
Comment obtenir un nom de colonne et un nom d'index spécifiques avec Pandas DataFrame
Comment envoyer une image visualisée des données créées en Python à Typetalk
Comment suivre le travail avec Powershell
Résumé de la façon d'importer des fichiers dans Python 3
Comment obtenir les résultats de l'identifiant dans Celery
[Django] Comment obtenir des données en spécifiant SQL.
Résumé de l'utilisation de MNIST avec Python
Comment obtenir des données d'article à l'aide de l'API Qiita
Comment créer des données à mettre dans CNN (Chainer)
Je veux obtenir les données de League of Legends ③
Je veux obtenir les données de League of Legends ②
Comment obtenir des éléments de type dictionnaire de Python 2.7
Comment obtenir les fichiers dans le dossier [Python]
Comment lire les données de séries chronologiques dans PyTorch
Je veux obtenir les données de League of Legends ①
Principes de base de Pandas pour les débutants ② Présentation des données de saisie
La première étape de l'analyse du journal (comment formater et mettre les données du journal dans Pandas)
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Comment utiliser Pandas 2
Comment obtenir le nom de la variable lui-même en python
Résumé des outils nécessaires pour analyser les données en Python
Comment appliquer des marqueurs uniquement à des données spécifiques avec matplotlib
Comment obtenir plusieurs objets de modèle au hasard dans Django
Comment accéder avec cache lors de la lecture_json avec pandas
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Comment générer un CSV d'en-tête multiligne avec des pandas
Comment créer un outil CLI interactif avec Golang
Comment créer un téléchargeur d'image avec Bottle (Python)
J'ai essayé de résumer comment utiliser les pandas de python
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
[Linux] Comment mettre votre IP dans une variable
réussir à se débarrasser des pylônes lourds dans vim-lsp
Comment obtenir des histogrammes RVB et HSV avec OpenCV
Utilisez Pandas pour écrire uniquement les lignes spécifiées du bloc de données dans le fichier Excel
[Blender] Comment obtenir l'ordre de sélection des sommets, des côtés et des faces d'un objet
Comment diviser les données de formation en machine learning en variables objectives et autres dans Pandas
Quelle est la force de votre Qiita? Statistiques sur le nombre de Contributes visibles dans les données
[Go language] Comment obtenir l'entrée du terminal en temps réel
[Introduction à cx_Oracle] Présentation de cx_Oracle
Comment échanger des éléments dans un tableau en Python et comment inverser un tableau.