- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用 Python 3.7 编写的函数,它返回一个 Pandas DataFrame。示例:
import pandas
df = pandas.DataFrame({'foo':[1,2,3], 'bar':['one', 'two', 'three'], 'baz':['apple', 'banana', 'strawberry']})
def returnMyDF():
return df
此 Python 文件可能名为 my_dataframe.py
然后在 R 中,我使用 Reticulate 库和 Tidyverse 将 Pandas DataFrame 插入 Tibble。
执行此操作的代码位于 app.R
中,如下所示:
library(tidyverse)
library(reticulate)
use_python("C:/ProgramData/Anaconda3", required = TRUE)
source_python("C:/the/path/to/my_dataframe.py")
df = returnMyDF()
glimpse(df)
返回以下错误:
观察结果:3
py_call_impl(callable,dots$args,dots$keywords)中的错误:
IndexError:索引 3 超出尺寸为 3 的轴 0 的范围
一些事实:我在GitHub上发现了这个问题:https://github.com/rstudio/reticulate/issues/101我认为这可能会解决。使用 devtools::install_github("rstudio/reticulate") 更新到最新版本的 Reticulate
session 信息:
sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252
LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] forcats_0.3.0 stringr_1.4.0 dplyr_0.7.8 purrr_0.3.0 readr_1.3.1 tidyr_0.8.2 tibble_2.0.1
[8] ggplot2_3.1.0 tidyverse_1.2.1 reticulate_1.10
loaded via a namespace (and not attached):
[1] Rcpp_1.0.0 cellranger_1.1.0 pillar_1.3.1 compiler_3.5.2 plyr_1.8.4 bindr_0.1.1
[7] tools_3.5.2 lubridate_1.7.4 jsonlite_1.6 nlme_3.1-137 gtable_0.2.0 lattice_0.20-38
[13] pkgconfig_2.0.2 rlang_0.3.1 Matrix_1.2-15 cli_1.0.1 rstudioapi_0.9.0 yaml_2.2.0
[19] haven_2.0.0 bindrcpp_0.2.2 withr_2.1.2 xml2_1.2.0 httr_1.4.0 hms_0.4.2
[25] generics_0.0.2 grid_3.5.2 tidyselect_0.2.5 glue_1.3.0 R6_2.3.0 readxl_1.2.0
[31] modelr_0.1.3 magrittr_1.5 backports_1.1.3 scales_1.0.0 rvest_0.3.2 assertthat_0.2.0
[37] colorspace_1.4-0 stringi_1.2.4 lazyeval_0.2.1 munsell_0.5.0 broom_0.5.1 crayon_1.3.4`
为了检查 NumPy 是否有效,我可以更改 my_dataframe.py
(并适本地更改 app.R)并导入 NumPy 数组...这不会导致任何问题:
import numpy
my_array = numpy.array([42, 2.38, 42])
def returnMyArray():
return my_array
我的问题是:如何将 Pandas DataFrame 引入 R 等效项中?
最佳答案
我主要是 R 用户,并开始涉足 Python,但可能的解决方案可能是在 Rmarkdown
中编写 Python 代码。您可以在此处互换编写 python
和 r
代码 - 这是一个很好的入门资源 https://cran.r-project.org/web/packages/reticulate/vignettes/r_markdown.html
如果您不熟悉 r markdown,我可以提供更多相关信息。
---
title: "test"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
#engine to run python
library(reticulate)
```
```{python}
#python code R knows this is python code because you specified
# this above "```{python}"
import pandas
df = pandas.DataFrame({'foo':[1,2,3], 'bar':['one', 'two', 'three'], 'baz':['apple', 'banana', 'strawberry']})
print(df)
```
```{r}
#r code
#refer to get python objects in R code you have to type py$objectname
df2 <- py$df
class(df2)
#data.frame - python equivalent to pandas.DataFrame
```
关于python - Pandas DataFrame to Reticulate 结果出现 IndexError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54951351/
我在cmd中发起了焰火,并在下面进行了表演,以提高我的技能。。当我执行a.take(1)时,我得到“_ickle.PicklingError:无法序列化对象:IndexError:tuple inde
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题?通过 editing this post 添加详细信息并澄清问题. 1年前关闭。 Improve this
如果我测试以下“空”条件,则会得到一个IndexError,指出字符串索引超出范围。这是为什么?如果用户输入为空,我希望脚本打印“空”。 pyg = 'ay' original = raw_input
我在 occurence[j] = 0 上收到错误消息.我真的不明白我的代码中这个错误的起源,因为它的长度是 dna,因为我在代码的顶部附加了 len(dna)零,然后我将一些值分配给同一个列表 oc
我正在阅读python上的视频帧,并且试图找到每个帧索引的RGB。我需要检测LED(将阈值设置为开/关-红色/黑色),但是我遇到了索引编制问题。 我需要访问图像左下角的RGB值。 # Check if
你能告诉我为什么我必须在 try/except 语句中包含这个 if 吗?当我使用列表调用函数时,此方法会引发 IndexError ,其中最后一个元素与列表中的其他元素相同。当最后一个元素在列表中仅
我需要帮助对我的键值对进行排序。我的输出位于此网址 http://pastebin.com/ckKAtP5y 中。然而,我一直在努力做的是。 { "courses": [ {
我知道索引会超过该组最后一个成员的索引,但如何使该功能正常工作? 无论如何,该函数的目的是检查列表中的所有成员是否相同。我对另一个函数有同样的问题,该函数旨在检查列表是否按顺序排列。它适用于其他所有内
请考虑以下代码吗? start_list = [5, 3, 1, 2, 4] square_list = [] for i in start_list: square_list.append(
我正在尝试找出它抛出该错误的原因。元组的长度应该是 4,确实是。有什么提示、想法吗? 此代码适用于我正在为 Udacity 编程入门 nano 学位开展的瑞士风格项目。 相关代码Python代码来自t
已更新,看底! 我卡住了!我收到一个 IndexError: list index out of range 错误。 def makeInverseIndex(strlist): numStr
我想我是在问一个新手问题,但今天花了太多时间寻找答案。在使用 np.genfromtxt 保存和重新加载后天真地尝试对 numpy 数组执行相同的切片操作时,我收到了 IndexError: too
我一直在做一个井字游戏的程序,需要两个玩家轮流输入棋盘坐标,比如 (r1,c1)->(r2,c2)-> (r3,c3)-> …,其中 r 是行,c 是列,棋盘看起来像 0 1 2 3 4 5 6 7
一些背景知识: 我正在编写一个基于单词的小型迷宫游戏,从一个由 X、O 和 F 组成的简单迷宫开始。 我的迷宫是代表迷宫本身的列表列表,其中 X 是一堵墙,O 是一个开放点,F 是终点线。 我正在尝试
s="(8+(2+4))" def checker(n): if len(n) == 0: return True if n[0].isdigit==True: if n[1].isd
我在图表上搜索单词的代码如下: size = len(word) height = len(diagram) width = len(diagram[0]) for i in range(0, hei
我有 Python 代码在列表中搜索字符串并将相应的参数存储到变量。 “X”下方的列表由单引号中的逗号分隔,这是我的实际逻辑 map1 = str(val).split('MAP:')[1].spli
这个问题在这里已经有了答案: How to remove items from a list while iterating? (25 个答案) 关闭 6 年前。 我是 Python 初学者。之前学
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] for i in a: print(a[i]) IndexError: list index out of
在我使用 python 实现的合并排序中,运行时发生错误 IndexError: list assignment index out of range 这是代码: #merge def merge(a
我是一名优秀的程序员,十分优秀!