python - Databricks:如何从 R Dataframe 切换到 Pandas Dataframe(R 到 python 在同一笔记本中)

标签 python r pandas dataframe databricks

我正在 Databricks 笔记本中编写 R 代码,该笔记本在 R 中执行多项操作。清理数据帧后,我想使用“%python”在 python 单元格中调用它,因此使用 python 代码继续对数据帧进行操作。

因此,我想在 python 块中将我的 R 数据帧转换为 Pandas 数据帧。有人知道怎么做这个吗?谢谢!

最佳答案

我认为不同内核之间的命名空间在 Databricks 上是分开的。因此,即使在同一个 notebook 中,您也不会在 Python 中看到 R 变量,反之亦然。
我的理解是有两种方法可以在内核之间共享数据:1) 使用文件系统(csv 等)和 2) 临时 Databricks 表。我相信后者是更典型的路线[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

    关于python - Databricks:如何从 R Dataframe 切换到 Pandas Dataframe(R 到 python 在同一笔记本中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60658629/

    相关文章:

    r - R的OAuth访问

    R:通过字符串匹配提取数据帧的列

    python - 绘制 pandas 数据透视表中的前 n 个指标

    python - 使用 Sklearn 对 Pandas DataFrame 进行线性回归(IndexError : tuple index out of range)

    python - 如何找到一个日期和另一个日期之间的差异(如果第二个未完全插入到dataFrame中)

    python - 在多线程 Python 应用程序中最小化 MySQL 连接开销的正确方法是什么?

    r - Sweave编译完成后如何删除aux/log/out

    python - 如何评估 python 列表中的元组?

    python - 调用递归函数时出现 WMI 意外 COM 错误 -2147352567

    python - 从只有登录后才可用的网站获取受限数据