[Python] Afficher le bloc de données dans la console de débogage VScode

Tâche

supposition

J'aime VScode

Présentation de la solution (table des matières)

Chez VScode

  1. Définissez un point d'arrêt
  2. Exécuter en mode débogage
  3. Utilisez la console de débogage
  4. Ajoutez une ligne à launch.json pour afficher le bloc de données

Détails de la solution

Définir un point d'arrêt

Déplacez le curseur de la souris à gauche du numéro de ligne et cliquez pour ajouter un cercle rouge image.png

Exécuter en mode débogage

  1. Cliquez sur la marque en forme de bogue pour accéder à l'écran de débogage
  2. Cliquez sur le bouton Exécuter pour le débogage image.png

Utilisez la console de débogage

Accédez à l'écran de la console de débogage, entrez le nom de la variable et appuyez sur la touche Entrée pour vérifier diverses choses image.png J'ai du mal à afficher correctement le bloc de données </ font>

Ajout d'une ligne à launch.json pour afficher la trame de données

Appuyez sur cmd + shift + P pour ouvrir la palette de commandes Tapez "lancement" Cliquez sur Ouvrir launch.json image.png

Ajoutez "" redirectOutput ": true" et enregistrez par écrasement (n'oubliez pas "," à la fin de la ligne précédente) image.png

Terminez le débogage une fois et recommencez le débogage. Essayez print (df) dans la console de débogage image.png Les blocs de données sont organisés et affichés pour une visualisation facile </ font>

  • Je ne sais pas pourquoi cela fonctionne. Gugu est arrivé à ↓ et l'a imité. https://github.com/microsoft/ptvsd/issues/2036#issuecomment-573343490

Bonus) Traitement multiligne dans la console de débogage

Vous pouvez également écrire un traitement multiligne avec sht + Entrée image.png

↓ Résultat d'exécution image.png

Supplément

Environnement d'exploitation: Mac, Python3.7

Exemple de code à déboguer:

# create test data
a = 15

import pandas as pd
df = pd.DataFrame(
    columns = ['name', 'gender', 'age'], 
    data = [
        ['john', 'man', 25],
        ['yoko', 'woman', 28],
        ['kevin', 'man', 45]
    ]
)

# processing
a = a - 1
df['age'] = df['age'] - 10

Code utilisé dans la console de débogage bonus:

for age_hosei in [10, -10]:
    print('--------------------------')
    print('age_hosei', age_hosei)

    tmp = df.copy()
    print('tmp:\n', tmp)
    
    tmp['age'] = tmp['age'] + age_hosei
    result = tmp.groupby('gender')['age'].sum()
    print('result:\n', result)

Recommended Posts