[PYTHON] Ceci et cela à propos de pd.DataFrame

introduction

Un mémo sur pandas.DataFrame (pd.DataFrame).

Initialisation DataFrame

#DataFrame vide
df = pd.DataFrame(columns=[Liste des noms de colonnes])

#Obtenir à partir du fichier csv
df = pd.read_csv([Chemin du fichier])
df = pd.read_csv([Chemin du fichier], names=[Liste des noms de colonnes])  #Sans en-tête
df = pd.read_csv([Chemin du fichier], sep=',')  #Lors de la spécification d'un délimiteur
df = pd.read_csv([Chemin du fichier], delim_whitespace=True)  #Pour séparateur d'espace
df = pd.read_csv([Chemin du fichier], comment='#')  #Lors de l'inclusion de texte de commentaire

Référence: Lire le fichier csv / tsv avec pandas (read_csv, read_table)

Ajouter un dictionnaire à DataFrame

df = df.append([dictionnaire], ignore_index=True)

Notez que contrairement au append dans la liste, le `df.append ()` seul ne met pas à jour le DataFrame.

Extraire des éléments de DataFrame

#     'a' 'b'
# 0 |  1   2
# 1 |  3   4

#Obtenir l'élément
df.loc[0,'a'] # -> 1

#Obtenir la ligne
dist(df.loc[0,:]) # -> {'a':1, 'b':2}

#Obtenir la colonne
list(df.loc[:,'a']) # -> [1, 3]

Référence: Obtenir / modifier la valeur de n'importe quelle position avec les pandas at, iat, loc, iloc

Extraire les lignes qui remplissent les conditions de DataFrame

#Conditions simples
df = df[df['num']>0]
df = df[df['str']=='Yes']
df = df[df['str'].isin(['Yes', 'No'])]  #Lorsqu'il y a plusieurs candidats

#Conditions liées aux chaînes de caractères (si la valeur manquante NaN est incluse)'na=False'Vers les options)
df = df[df['str'].str.startswith('Y')]  #Première chaîne
df = df[df['str'].str.contains('e')]  #Chaîne de caractères incluse dans
df = df[df['str'].str.endswith('s')]  #Chaîne de caractères à la fin

#Conditions multiples
df = df[(df['num']>0) & (df['str']=='Yes')]  #Au lieu de et&
df = df[(df['num']>0) | (df['str']=='Yes')]  #Au lieu de ou|

Référence: requête pour extraire les lignes de pandas.DataFrame par condition

Autre

#Trier selon la colonne spécifiée
df = df.sort_values('a', ascending=True)

#Réindexer
df = df.reset_index(drop=True)

#Enregistrer DataFrame dans un fichier csv
df.to_csv([Chemin du fichier], index=False)

Recommended Posts

Ceci et cela à propos de pd.DataFrame
matplotlib ceci et cela
Ceci et cela en utilisant Reflect
API Zabbix ceci et cela
À propos de _ et __
Ceci et cela appris de boost.python
Ceci et cela des propriétés python
Ceci et cela en utilisant NLTK (mémo)
Ceci et celui de la notation d'inclusion.
Ceci et cela utile lorsqu'il est utilisé avec nohup
À propos de la classe et de l'instance
À propos de cumprod et cummax
À propos de la validation croisée et de la valeur F
Ceci et cela autour de Mysql dans l'environnement Apache (Note)
Linux (À propos des fichiers et des répertoires)
À propos des objets et des classes Python
À propos des variables et des objets Python
À propos des fichiers et des processus LINUX
À propos du groupe Raid et du LUN
À propos de la fonction fork () et de la fonction execve ()
À propos de la déconstruction et de la déconstructibilité de Django
À propos de Python, len () et randint ()
À propos de la date et du fuseau horaire Python
À propos du ratio de Sharpe et du ratio de Sortino
À propos de Python et des expressions régulières
À propos des opérations Python et OS
À propos de http.Handle () et http.NewServeMux (). Handle ()
Python # À propos de la référence et de la copie
À propos du tableau Numpy et d'un tableau
À propos de Python sort () et reverse ()
À propos de Boxplot et Violinplot qui visualisent la variation des données indépendantes
À propos du bogue qu'Anaconda ne parvient pas à importer numpy et scipy
À propos de l'installation des séries Pwntools et Python2
Résumé et erreurs courantes sur cron
À propos de Python dict et des fonctions triées
À propos de Python et Cython dtype
À propos des thèmes MkDocs et de leurs coutumes
À propos de Python Pickle (cPickle) et Marshal
[Python] À propos des classes Executor et Future
À propos de Python, à partir et à l'importation, comme
À propos des données de séries chronologiques et du surentraînement
À propos de "spleeter" qui peut séparer les voix et les instruments de musique des données musicales