Le chargement .RData fichiers en Python
J'ai un tas de .RData temps de la série de fichiers et tiens à les charger directement dans Python sans d'abord convertir les fichiers vers une autre extension (comme .csv). Toutes les idées sur la meilleure façon d'accomplir cette?
Vous devez vous connecter pour publier un commentaire.
Gens demander ce genre de chose sur le R et R-dev liste et la réponse habituelle est que le code est la documentation de la
.RData
format de fichier. Toute autre mise en œuvre dans toute autre langue est dur++.Je pense que la seule façon raisonnable est d'installer RPy2 et l'utilisation des R
load
fonction de cela, la conversion de python approprié des objets que vous allez. Le.RData
fichier peut contenir des objets structurés ainsi que des tables simples, alors faites attention.Linky: http://rpy.sourceforge.net/rpy2/doc-2.4/html/
Rapidement:
objets sont maintenant chargé dans la R de l'espace de travail.
C'est un simple scalaire, d est un bloc de données, je peux sous-ensemble pour obtenir des colonnes:
from rpy2.robjects import numpy2ri
et puisnumpy2ri.ri2numpy(r['d'])
. Vous avez ensuite des tableaux numpy que vous pouvez manipuler dans un "pythonic" façon.np.array( r['d'] )
et je n'ai pasri2numpy
dansnumpy2ri
plus.Comme une alternative pour ceux qui préfèrent ne pas avoir à installer de R pour accomplir cette tâche (r2py exige), il y a un nouveau package "pyreadr" qui permet de lire RData et Rds fichiers directement en python sans dépendances.
C'est un wrapper autour de la bibliothèque C librdata, il est donc très rapide.
Vous pouvez l'installer facilement avec pip:
Comme un exemple, que vous devez faire:
Les pensions de titres sont ici: https://github.com/ofajardo/pyreadr
Avertissement: je suis le développeur de ce package.
Jupyter Les Utilisateurs D'Ordinateurs Portables
Si vous utilisez Jupyter ordinateur portable, vous avez besoin de faire 2 étapes:
Étape 1: allez à http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2 et télécharger Python interface pour le langage R (embedded R) dans mon cas, je vais utiliser
rpy2-2.8.6-cp36-cp36m-win_amd64.whl
De placer ce fichier dans le même répertoire de travail, vous êtes actuellement.
Étape 2: Allez à votre Jupyter portable et d'écrire les commandes suivantes
et puis
et puis
Cela devrait vous permettre d'utiliser R les fonctions en python. Maintenant, vous devez importer le
readRDS
comme suitFélicitations! maintenant, vous avez le Dataframe vous vouliez
Cependant, je vous conseille de l'enregistrer dans la saumure fichier pour plus tard, le temps d'utilisation de python comme
Alors la prochaine fois que vous pouvez simplement utiliser par
Il y a un tiers appelé bibliothèque
rpy
, et vous pouvez utiliser cette bibliothèque pour charger.RData
fichiers. Vous pouvez obtenir ce par le biais d'unpip
installerpip instally rpy
fera l'affaire, si vous n'avez pasrpy
, puis-je vous suggérer de prendre un coup d'oeil à la façon de l'installer. Sinon, vous pouvez simplement faire:EDIT:
Il me semble que je suis un peu de la vieille école, il y,s rpy2 maintenant, donc vous pouvez l'utiliser.
rpy
? C'est groovy.