3 votes

Comment changer les noms des colonnes d'un dataframe en utilisant rpy2

Je veux faire l'équivalent de ce code R :

m2 <- cbind(1,2)
colnames(m2) <- c("x","Y")

Quand je le fais

import rpy2.robjects as R
m2 = R.r['cbind'](1,2)
R.r['colnames'](m2) = R.StrVector(['x','y'])

Je reçois cette erreur :

SyntaxError: can't assign to function call

J'ai essayé

>>> m2 = R.r['colnames'](m2, R.StrVector(['x','y']))
>>> print m2

[1] "x1" "y2" 

Et

>>> params = {'do.NULL':False}
>>> m2 = R.r['colnames'](R.StrVector(['x','y']), m2, **params)
>>> print m2

[1] "11" "21"

Les deux ne donnent pas le résultat que je veux. Alors comment puis-je utiliser colnames pour changer les noms des colonnes d'un cadre de données ?

10voto

Niek de Klein Points 1944

Si quelqu'un veut savoir, la réponse est :

m2.colnames = R.StrVector(['x','y'])

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X