[PYTHON] Meilleures pratiques pour manipuler les données avec les pandas

En machine learning, après prétraitement des données, tout en ayant une hypothèse Jouez-vous avec les données? Jouez-vous avec? Je pense qu'il y a une phase, À cette époque, comment manipuler librement les pandas est Je pense que ce sera important.

J'ai moi-même une petite expérience en programmation et une connaissance des bases de données,

*** pandas DataFrame [] ← C'est trop compliqué! !! *** ***

Surtout, il est difficile de se limiter aux conditions.

train[train["company_id"] == 1088]["meter_reading"]

C'est déroutant à ce stade, mais si c'était train_weather_df, il serait ruiné.

train_weather_df[train_weather_df[“company_id”]==1088][“meter_readings”]

De plus, lorsqu'il y a deux conditions, des choses plus effrayantes se produisent ...

Alors pour faire quelque chose d'un peu compliqué, Je pense qu'il vaut mieux utiliser ***. Query () ***.

train.query(qry)["meter_reading"]

Après avoir rétréci, je pense qu'il y a quelque chose comme essayer de faire ce "Groupe 1" pour analyse. Notez que vous ne pouvez pas attribuer directement lors de la récupération avec la méthode de requête.

×××× train.query(qry )["group"] = 1

*** ne peut pas être !! ***

C'est un peu détourné à ce moment-là, mais je pense que ce qui suit est probablement mieux.

qry = 'company_id == 1088 & meter_reading > 20000'
target_idx = train.query(qry).index
train["group"].loc(target_idx) = 1

La lisibilité n'est pas si mauvaise, et surtout

train.loc(target_idx) 

Avec cela, je pense qu'il est bon de pouvoir confirmer s'il est bien pressé.

Cependant, il semble qu'il existe des restrictions sur les caractères pouvant être saisis dans la requête, Cela peut être un problème un jour.

En passant, l'exemple de requête sur ce site est utile. https://ohke.hateblo.jp/entry/2019/01/12/230000 (moteur = python, etc.)


 tmp_q = "name_ns == @t_name & year == @t_year "

Articles référencés https://qiita.com/kurumen-b/items/45b60299f0893a537f2a https://qiita.com/mwmsnn/items/6a464865759231aa888d

Notes complémentaires Avec les pandas récents, il semble qu'écrire comme iloc n'est pas recommandé après avoir réduit les colonnes. Cette notation semble être plus importante. Si vous voulez aller et venir entre les numéros de ligne, les numéros de colonne, les étiquettes de ligne, les noms de colonne, voir ci-dessous https://note.nkmk.me/python-pandas-get-loc-row-column-num/

Recommended Posts

Meilleures pratiques pour manipuler les données avec les pandas
Visualisation des données avec les pandas
Manipulation 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
[Pandas] J'ai essayé d'analyser les données de ventes avec Python [Pour les débutants]
Déployez des fonctions avec Cloud Pak for Data
Conseils pour tracer plusieurs lignes avec des pandas
Essayez de convertir en données ordonnées avec les pandas
Gérez les structures de données 3D avec les pandas
Bonnes pratiques pour Django views.py et urls.py (?)
Exemple de traitement efficace des données avec PANDAS
Les bases de Pandas pour les débutants ③ Créez un histogramme avec matplotlib
Analyse des données pour améliorer POG 2 ~ Analyse avec le notebook jupyter ~
Essayez d'agréger les données de musique doujin avec des pandas
Lire les données csv Python avec Pandas ⇒ Graphique avec Matplotlib
lecture de données pandas
Implémentez "Data Visualization Design # 3" avec pandas et matplotlib
Visualisez de manière interactive les données avec Treasure Data, Pandas et Jupyter.
La fonction Lambda déploie les meilleures pratiques avec CircleCI + Lamvery
Transformez les données de vacances en une trame de données avec les pandas
Principes de base de Pandas pour les débutants ② Présentation des données de saisie
Un mémorandum de méthode souvent utilisé lors de l'analyse de données avec des pandas (pour les débutants)
Enregistrez les données pandas dans des actifs de données au format Excel avec Cloud Pak for Data (Watson Studio)
Analyse de données pour améliorer POG 1 ~ Web scraping avec Python ~
Obtenez des données Amazon RDS (PostgreSQL) à l'aide de SQL avec pandas
Les masques sont utiles pour rechercher dans les trames de données Pandas
Comment convertir des données détenues horizontalement en données détenues verticalement avec des pandas
Soyez prudent lors de la lecture de données avec des pandas (spécifiez dtype)
Résumé des méthodes de prétraitement pour les débutants en Python (trame de données Pandas)
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
Meilleures pratiques personnelles pour l'environnement de développement Python basé sur VS Code
[Pour enregistrement] Mémorandum Pandas
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
Pandas apprenant avec la chimioinfomatique
Lecture de données avec TensorFlow
Augmentation des données avec openCV
Normariser les données avec Scipy
Analyse de données avec Python
CHARGER DES DONNÉES avec PyMysql
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
Obtenez des données de l'API d'analyse avec le client API Google pour python
Meilleures pratiques pour la gestion dynamique des messages LINE Flex dans Django
[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