《数据库:如何从R Dataframe切换到Pandas Dataframe》(R到Pandas Dataframe)
问题描述
我正在数据库笔记本中编写R代码,该笔记本在R中执行几个操作。一旦清理了数据帧,我想使用‘%python’在一个python单元中调用它,从而使用python代码继续对该数据帧进行操作。 因此,我想在python块中将R Dataframe转换为Pandas DataFrame。有人知道怎么做吗?谢谢!解决方案
我认为在数据库中不同内核之间的命名空间是分开的。因此,即使在同一个笔记本中,您也不会在Python中看到R变量,反之亦然。
我的理解是,有两种方法可以在内核之间共享数据:1)使用文件系统(CSV等)和2)临时数据库表。我认为后者是更典型的路线[1]。
- 文件系统:
%r
write.csv(df, "/FileStore/tmp.csv")
%python
import pandas as pd
df = pd.read_csv("/FileStore/tmp.csv")
- 临时数据库表:
%r
library(SparkR)
sparkR.session()
df <- read.df("path/to/original_file.csv", source="csv")
registerTempTable(df, "tmp_df")
%python
df = spark.sql("select * from tmp_df").toPandas()
[1]https://forums.databricks.com/questions/16039/use-python-and-r-variable-in-the-same-notebook-amo.html
相关文章