Visualiser les dataframes Python (Rstudio)

Préface

Pour être clair, j'ai fait quelque chose de très inutile. (Je vais le mettre pour enregistrer le code émoussé) Je voulais rendre plus pratique l'utilisation de python dans Rstudio, j'ai donc créé une fonction, mais au final, la commodité ne s'est guère améliorée. ..

Cliquez ici pour savoir comment utiliser python dans Rstudio.

Cadre de données Python

Merci. J'adore réticuler.

Il est courant d'utiliser des pandas pour les trames de données python, mais il existe un problème en raison du fait qu'il est difficile de voir les trames de données lors de l'utilisation de python avec Rstudio.

Par exemple,

#"Comité de définition des compétences de l'Association des scientifiques des données"
#Données de "Data Science 100 Knock (traitement de données structurées)"
#Je vais l'utiliser.

>>> import pandas as pd
>>> df = pd.read_csv("customer.csv")
>>> print(df)

名称未設定.png

Eh bien, ce n'est pas mal. .. Il a été omis sur le chemin, donc c'est un peu effrayant!

Fonction Rstudio View ()

La solution est simple.

・ Utilisez google colab docilement (Le dataframe est relativement joli)

・ ** Utilisez la fonction View () spécifique à Rstudio **

La fonction View () est la plus rapide.

>>> quit #Quittez python et revenez à R

> # library(reticulate)
> View(py$df)

Cela fera apparaître une trame de données super facile à lire qui peut être déplacée comme d'habitude. 名称未設定.png

Fonctionnalisation

Ensuite ceci

"Chargement du paquet reticulate (py $ ne peut pas être utilisé à moins d'être chargé) -> Afficher dans la visionneuse-> Revenir à python"

Faisons une série d'opérations en fonction.

py_view = function(py_df_name, i_overwrite = FALSE, repl = TRUE){
  library(reticulate)
  #
  if(class(py_df_name) == "character"){
    if((class(try(py$i, T)) == "try-error") |
       (class(try(py$i, T)) != "try-error" & i_overwrite == TRUE)){
      try(py_run_string(paste("i = globals()['", py_df_name, "']",
                              sep = "")), T)
      if(class(try(class(py$i), T)) == "data.frame"){
        View(py$i, py_df_name)
        py_run_string("del i")
        #repl
        if(repl == T){repl_python()}
      }else{
        message(paste("Trame de données'", py_df_name, "'N'a pas été trouvé.",
                      sep = ""))
        try(py_run_string("del i"), T)
      }
    }else{
      message("   'i'Existe. Supprimer ou argument i_overwrite =Veuillez définir TRUE.")
    }
  }else{
    message("Argument py_df_Veuillez spécifier le nom sous forme de chaîne de caractères.")
  }
}

J'ai eu du mal. Tout d'abord, si vous définissez l'argument (nom du dataframe) sur "py $ ~", cela se terminera en un instant, mais j'en ai fait un formulaire pour introduire un dataframe avec un nom qui correspond à la chaîne de caractères.

Le comportement est que si l'argument py_df_name est un caractère (chaîne de caractères), déplacez le dataframe vers une variable appelée i en python et regardez-le avec la fonction View ().

Vous faites beaucoup de gestion des exceptions en essayant. Commentaire ...

Essayez d'utiliser

Facile à utiliser.

> py_view("df")
>>> 

Avec cela seul, la visionneuse précédente s'affiche et vous pouvez revenir à python.

Résumé

c'est tout! !! !! C'était plus de gaspillage que ce à quoi je m'attendais.

Je pensais que ce serait ennuyeux d'avoir à ajouter "py" à chaque fois dans View () et de trébucher avec "py $ ~" si je ne faisais pas "library (reticulate)", mais à la fin j'ai fait ceci Je pense que c'est plus rapide de travailler.

Pour le moment, c'était une bonne pratique pour le traitement des exceptions dans R.

Recommended Posts

Visualiser les dataframes Python (Rstudio)
Visualiser le modèle Keras avec Python 3.5
Ecrire python dans Rstudio (réticulé)
Python
Visualisez les dépendances des packages python avec graphviz
[Python] Visualisez les informations acquises par Wireshark
Visualisez le point P qui fonctionne avec Python