ModuleNotFoundError: No module named 'pandas.rpy'
pandas升级后原来的pandas.rpy全部整合到了rpy2中;
问题:
import pandas.rpy.common as pdcom
r_data = pdcom.convert_to_r_dataframe(self.data)
import pandas as pd
import pandas.rpy.common as pdcom
import rpy2.robjects as ro
from test import resources_dir, root_test_dir, r_results_dir, load_default_data, load_r_results
from os import path
#data setup and validation
r_data = pdcom.convert_to_r_dataframe(self.data)
r_predictors = self.predictors if isinstance(self.predictors, str) \
else ro.vectors.StrVector(self.predictors)
#ensure all variables are properly set and make special r values for
#use in calling the r function
解决:
from rpy2.robjects import pandas2ri
pandas2ri.activate()
from rpy2.robjects import pandas2ri
pandas2ri.activate()
import pandas as pd
import numpy as np
from datetime import datetime
n = 10
df = pd.DataFrame({
"timestamp": [datetime.now() for t in range(n)],
"value": np.random.uniform(-1, 1, n)
})
r_dataframe = pandas2ri.py2ri(df)
print(r_dataframe)
完整错误:
Traceback (most recent call last):
File "r_analysis.py", line 12, in <module>
import pandas.rpy.common as pdcom
ModuleNotFoundError: No module named 'pandas.rpy'
参考:Converting a Pandas DataFrame to R dataframe using Rpy2
参考:https://www.coder.work/article/1256019
参考:https://stackoverflow.com/questions/45221609/