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.
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)
Eh bien, ce n'est pas mal. .. Il a été omis sur le chemin, donc c'est un peu effrayant!
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.
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 ...
Facile à utiliser.
> py_view("df")
>>>
Avec cela seul, la visionneuse précédente s'affiche et vous pouvez revenir à python.
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