Отправка df из Python в R через подпроцесс - PullRequest
0 голосов
/ 03 мая 2020

Попытка отправить df R через Python:

Python

1-й шаг: Создать df

import subprocess
import pandas as pd
df = {'Date': ['2008-01-01', '2008-02-01','2008-03-01', '2008-04-01', '2008-05-01'], 'Test': [304128,  277776,  277721, 339240, 485568 ]}
df1 = pd.DataFrame(data=df)

2-й шаг: определить переменные, запустить функцию подпроцесса и проверить вывод

command = 'C:/Program Files/R/R-3.5.0/bin/Rscript.exe'
path2script = 'C:/Users/rhocepied/R_Test.R'
cmd = [command, path2script] + df1
x = subprocess.check_output(cmd, universal_newlines=True)

Всплывающее сообщение об ошибке: ValueError: можно преобразовать только массив размера 1 в Python скаляр

R

3-й шаг: функция в R должна быть выполнена с df в качестве аргумента

df <- commandArgs(trailingOnly = TRUE)

prep_data <- function(df, one_year=TRUE){

  df$Date <- as.Date(df$Date, format="%Y-%m-%d")
  series <- xts(x=df[,-1], order.by=df$Date)
  series <- series$Test
  series.name <- names(series)
  splitted <- strsplit(series.name, '...', TRUE)
  series.name <- unlist(splitted)[1]
  market_name <- unlist(splitted)[2]

return(series)
}

This didn ' т работа. Кто-то испытывал ту же проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...