[PYTHON] Manipulation des données avec les Pandas!

introduction

J'ai eu plusieurs opportunités d'utiliser des pandas pour des tâches de développement en interne. Je me demande comment le faire car ce n'est pas si fréquent Il y a beaucoup de choses comme comment le faire en premier lieu. De plus, comme il existe de nombreuses possibilités de gérer plusieurs Go de données en raison de sa nature, Je mettrai à jour la méthode pour gérer de tels cas de temps en temps. Par conséquent, la composition est décrite sous la forme de ce que vous voulez faire ⇒ comment le faire.

Au fait, ce n'est pas comme faire du machine learning gorigori, alors Veuillez noter qu'il n'est pas question de cela.

Chargement de csv

En premier lieu, rien ne peut être fait à moins que csv ne puisse être lu. Donc, comment lire. Les bases sont les suivantes.


df = pd.read_csv("nom de fichier")

Lire de gros fichiers

Cependant, lorsque la taille du fichier devient Go, Il y a de fortes chances que vous ne puissiez pas survivre à la mémoire. Dans un tel cas, ajoutez l'option chunksize et chargez-la séparément.

Si vous spécifiez chunksize, Il est chargé comme une instance de TextFileReader au lieu d'un Dataframe. Si vous tournez le TextFileReader dans une boucle, vous pouvez récupérer le DataFrame. Dans l'exemple suivant, 50 lignes sont extraites et imprimées.


data = pd.read_csv("test.csv", chunksize=50)
for i in data:
  print(i)
option
Nom de l'option sens Exemple
encoding Spécification du code de caractère encoding='UTF-8'
skiprows Spécifiez la ligne à ignorer skiprows=2
chunksize Lire chaque nombre de lignes spécifié chunksize=50
usecols Lecture seule des colonnes spécifiées usecols=[1, 3]

[Autres options](https://own-search-and-study.xyz/2015/09/03/pandas%E3%81%AEread_csv%E3%81%AE%E5%85%A8%E5%BC%95 % E6% 95% B0% E3% 82% 92% E4% BD% BF% E3% 81% 84% E3% 81% 93% E3% 81% AA% E3% 81% 99 /)

2 Concaténation de données

Comment lire et concaténer des fichiers séparés


#Fichier 1 lu
Data1 = pd.read_csv(file1, dtype = np.float32)
#Lire le fichier 2
Data2 = pd.read_csv(file2, dtype = np.float32)
#Concaténer 2 données
rawData = pd.concat([Data1, Data2], ignore_index=True)

Obtenez une colonne spécifique


df['A']

Extraire des lignes pour une section spécifique


df[1:3]

Notez que la ligne commence à 0, donc dans ce cas, la première ligne ne peut pas être obtenue. De plus, 3 signifie jusqu'à 2.

Supprimer les colonnes inutiles

La trame de données d'origine est modifiée en spécifiant inplace = True. Dans l'exemple suivant, les colonnes Ville et Prix disparaissent de Données.


df.drop(columns=['City', 'Price'], axis = 1, inplace=True)

Peut être spécifié par numéro de colonne


df.drop(columns=[[1, 2]], axis = 1, inplace=True)

Supprimer la ligne


df.drop(df.index[[1, 3, 5]])

Par défaut, l'index de ligne est un numéro de série de 0, Notez que l'index ne sera pas un numéro de série après le tri, etc.

Substitution d'une colonne spécifique


df.replace({Nom de colonne: {Valeur d'origine:Valeur après remplacement}})

Fractionnement des données par valeurs dans une colonne

Utilisé lors de la modification du traitement en fonction de la valeur de la colonne. Puisqu'il renvoie un objet GroupBy, vous pouvez jouer avec l'instruction for telle quelle.


pour la valeur de la colonne,Trame de données en df.groupby('Nom de colonne'):
Chaque processus

De plus, comme l'indice est dispersé, Utilisez reset_index () pour recoller l'index dans chaque bloc de données.

for city,sdf in  df.groupby('city'):
    sdf.reset_index(drop=True)
    if city = 'Tokyo':
             flags = 1

Comptez le nombre d'enregistrements

Renvoie le nombre d'éléments dans le premier tableau de colonnes. Sans [0], chaque matrice est comptée.


pd.shape[0]

moyenne


means = df.mean(axis = 0) 

écart-type


std = df.std(axis = 0) 

Enregistrer csv

Pour enregistrer au format csv après le traitement de la trame de données:


df.to_csv("nom de fichier")
Nom de l'option sens Exemple
columns Exporter uniquement des colonnes spécifiques columns=['age']
header Avec ou sans tête header=False
index Présence ou absence d'index index=False

Exporter / ajouter un fichier csv avec pandas (to_csv)

référence

Différences entre Pandas et NumPy et comment les utiliser correctement Grouper DataFrame par valeur de colonne --pandas Déposer en spécifiant la ligne / colonne de pandas.DataFrame Lire les fichiers csv / tsv avec pandas (read_csv, read_table) Réaffecter l'index DataFrame avec reset_index-python

Recommended Posts

Manipulation des données avec les Pandas!
Visualisation des données avec les pandas
Mélangez les données avec les pandas
Conseils de traitement des données avec Pandas
Traçage de données polyvalent avec pandas + matplotlib
lecture de données pandas
Manipulation des données PySpark
Jointure de colonne de manipulation de données Pandas, permutation de colonne, changement de nom de colonne
Essayez de convertir en données ordonnées avec les pandas
Faisons la manipulation des données MySQL avec Python
Gérez les structures de données 3D avec les pandas
Exemple de traitement efficace des données avec PANDAS
Meilleures pratiques pour manipuler les données avec les pandas
Analyse de données avec python 2
Visualisez rapidement avec les pandas
Traitement des ensembles de données avec des pandas (1)
Échantillonnage bootstrap avec Pandas
Convertir 202003 en 2020-03 avec les pandas
Traitement des ensembles de données avec des pandas (2)
Fusionner les ensembles de données avec les pandas
Lire les données csv Python avec Pandas ⇒ Graphique avec Matplotlib
Pandas apprenant avec la chimioinfomatique
Lecture de données avec TensorFlow
Implémentez "Data Visualization Design # 3" avec pandas et matplotlib
Visualisez de manière interactive les données avec Treasure Data, Pandas et Jupyter.
Augmentation des données avec openCV
Transformez les données de vacances en une trame de données avec les pandas
Normariser les données avec Scipy
Analyse de données avec Python
CHARGER DES DONNÉES avec PyMysql
Obtenez des données Amazon RDS (PostgreSQL) à l'aide de SQL avec pandas
Manipulation de chaînes avec python et pandas que j'utilise souvent
Soyez prudent lors de la lecture de données avec des pandas (spécifiez dtype)
Construction d'un environnement d'analyse de données avec Python (notebook IPython + Pandas)
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Traiter les données csv avec python (traitement du comptage à l'aide de pandas)
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Exemple de données créées avec python
Lire csv avec des pandas python
Incorporer des données audio avec Jupyter
Graphique des données Excel avec matplotlib (1)
Charger json imbriqué avec des pandas
Extraire les données Twitter avec CSV
Manipuler des données en Python-essayez avec Pandas_plyr
Obtenez des données Youtube avec python
Binariser les données photo avec OpenCV
[Python] Changer de type avec les pandas
Graphique des données Excel avec matplotlib (2)
Utilisez Django pour enregistrer les données de tweet
Standardisez par groupe avec les pandas
Manipulation d'expressions régulières par Python
Analyse de données à l'aide de pandas python
Empêchez les omissions avec l'impression de pandas
Lire des données json avec python
Remarques sur la gestion de grandes quantités de données avec python + pandas
Ingéniosité pour gérer les données avec Pandas de manière à économiser la mémoire
[Analyse du cours de l'action] pandas apprenant avec des données fictives (002: sortie log)
Une collection de méthodes utilisées lors de l'agrégation de données avec des pandas
Résumé de base de la manipulation de données avec Python Pandas - Première moitié: création et manipulation de données