Ele*_*ino 6 python r pandas rstudio
所以,为了清楚起见,我对python编码很陌生……所以我不确定出了什么问题。
昨天,在学习从 R 调用 python 的教程时,我成功安装并使用了几个 python 包(例如,NumPy、pandas、matplotlib 等)。
但是今天,当尝试运行完全相同的代码时,在尝试导入 Pandas 时出现错误(NumPy 导入时没有任何错误)。错误指出:
ModuleNotFoundError: No module named 'pandas'
Run Code Online (Sandbox Code Playgroud)
我不知道发生了什么!?我正在使用 R-Studio(在 Mac 上运行)......这是我如何做的代码片段:
library(reticulate)
os <- import("os") # Setting directory
os$getcwd()
repl_python() #used to make it interactive
import numpy as np. # Load numpy package
import pandas as pd # Load pandas package
Run Code Online (Sandbox Code Playgroud)
在这一点上,它给我一个错误。我试过谷歌搜索答案并在这里搜索,但无济于事。
关于我如何解决这个问题的任何建议,或者发生了什么?谢谢
重新加载 Rstudio 后,可能您的 reticulate 的 python 路径发生了变化。以下是手动设置路径的方法(Linux 或 Mac 的文件路径):
library(reticulate)
path_to_python <- "~/anaconda3/bin/python"
use_python(path_to_python)
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令检查您的Python路径py_config():https ://rstudio.github.io/reticulate/articles/versions.html#configuration-info
我建议在你的 Python 发行版中使用 Anaconda(你可能必须使用 Anaconda 来实现网状结构,不确定)。从这里下载: https: //www.anaconda.com/distribution/#download-section 然后你可以创建reticulate使用的环境:
conda_create('r-reticulate', packages = "python=3.5")
Run Code Online (Sandbox Code Playgroud)
我对某些特定的包使用 Python 3.5,但您可以更改该版本或将其保留为最新版本的“python”。 https://www.rdocumentation.org/packages/reticulate/versions/1.10/topics/conda-tools
然后你想安装你需要的软件包(如果还没有)
conda_install('re-reticulate', packages = 'numpy')
Run Code Online (Sandbox Code Playgroud)
我使用像 numpy 这样的东西的方式是
np <- import('numpy')
np$arange(10)
Run Code Online (Sandbox Code Playgroud)