Попытка отправить 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 ' т работа. Кто-то испытывал ту же проблему?