Home > Net >  Transfer in R dataframe in a list to Python Pandas
Transfer in R dataframe in a list to Python Pandas

Time:01-28

How can I transfer these 5 simulated datasets that I saved as a dataframe in a list in R to python in similar format (as pandas dataframe in a list) ?

library(MASS)
library(stats)

generateData<- function(n,p) {
sigma <- diag(p)
sigma <- replace(sigma, sigma == 0, 0.3)
mu= rep(0,nrow(sigma))
X <- mvrnorm(n, mu = mu, Sigma = sigma)
vCoef = rnorm(ncol(X))
vProb =exp(X%*%vCoef)/(1 exp(X%*%vCoef))
Y <- rbinom(nrow(X), 1, vProb)
data= data.frame(cbind(X,Y))
return(data)
}

######################################################
# SIMULATED DATA
######################################################
n <- 100
p <- 50
nsim <- 5
data <- list()

for (k in 1 : nsim ) {
mydata <- generateData(n , p)
data[[k]] <- mydata
}

CodePudding user response:

You could iterate through the list and save the unique dataframes into an .xls file using different sheets. Then on Python create a list, read the sheets using pandas and finally append them to a list in order to obtain the same structure.

So in R:

library(xlsx)

for(i in seq(length(data))){
    write.xlsx(data[[i]], file="filename.xls", sheetName=paste0("data",i), row.names=F, append=T)
}

While in Python:

import pandas as pd

data = list()
for i in range(5):
    sheet = "data" str(i 1)
    data.append(pd.read_excel("filename.xls", sheet_name=sheet))
  •  Tags:  
  • Related