Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Python行转换为R:_Python_R_Pandas - Fatal编程技术网

将Python行转换为R:

将Python行转换为R:,python,r,pandas,Python,R,Pandas,我正在关注一篇博文,我有点被一个部分卡住了,关于从Python pandas到R 在博客部分: 勾杠 作者有这样一句话: data\u tick\u grp=data.reset\u index().assign(grpId=lambda row:row.index//num\u ticks\u per\u bar) 我知道data是“数据框架”- 重置索引不确定这是什么 assing(grpId=…)-创建新变量grpId lambda行:-不确定这是做什么的 行索引-这与行编号相同吗 \\

我正在关注一篇博文,我有点被一个部分卡住了,关于从Python pandas到R

在博客部分:

勾杠 作者有这样一句话:

data\u tick\u grp=data.reset\u index().assign(grpId=lambda row:row.index//num\u ticks\u per\u bar)

  • 我知道
    data
    是“数据框架”-
  • 重置索引
    不确定这是什么
  • assing(grpId=…)
    -创建新变量
    grpId
  • lambda行:
    -不确定这是做什么的
  • 行索引
    -这与
    行编号
    相同吗
  • \\
    -这与R中的
    floor()
    相同吗
  • num\u ticks\u per\u bar
    计算为

    total_ticks=len(数据)
    num_ticks_per_bar=总_ticks/num_time_bar
    num_ticks_per_bar=舍入(num_ticks_per_bar,-3)#舍入到最接近的千

我的理解是:

ticks <- data %>%
  filter(symbol == "XBTUSD") %>%
  nrow()
ticks_per_bar <- ticks / 288
ticks_per_bar <- plyr::round_any(ticks_per_bar, 1000)
floor(1:nrow(data) / ticks_per_bar))
ticks%
过滤器(符号==“XBTUSD”)%>%
nrow()

通常情况下,熊猫最好翻译成R基:

  • reset_index
    与重置顺序编号的
    row.names
    相同
    data.frame(…,row.names=NULL)
  • assign(grpId=…)
    与在适当位置分配列相同,例如使用
    transform
中的
或dplyr的
mutate

  • lambda行
    这在
    分配给参考数据框内是必需的,此处别名为行

  • row.index
    与行号相同(记住Python是0-index而不是R)

  • /
    是整数除法,在R-one中可以在除法后用
    as.integer
    floor
    包装

  • 总的来说,考虑下面的调整来翻译熊猫线:

    data\u tick\u grp=(data.reset\u index()
    .assign(grpId=lambda行:row.index//num\u ticks\u per\u bar)
    )
    
    致R:

    data\u tick\u grp%
    突变(grpId=地板(0:(nrow(数据)-1)/num_ticks_per_bar))
    
    通常,Pandas最好翻译成base R:

    • reset_index
      与重置顺序编号的
      row.names
      相同
      data.frame(…,row.names=NULL)
    • assign(grpId=…)
      与在适当位置分配列相同,例如使用
      transform
    中的
    或dplyr的
    mutate

  • lambda行
    这在
    分配给参考数据框内是必需的,此处别名为行

  • row.index
    与行号相同(记住Python是0-index而不是R)

  • /
    是整数除法,在R-one中可以在除法后用
    as.integer
    floor
    包装

  • 总的来说,考虑下面的调整来翻译熊猫线:

    data\u tick\u grp=(data.reset\u index()
    .assign(grpId=lambda行:row.index//num\u ticks\u per\u bar)
    )
    
    致R:

    data\u tick\u grp%
    突变(grpId=地板(0:(nrow(数据)-1)/num_ticks_per_bar))
    
    对于reset.index(),基本上它会在groupby之后重置数据帧(发生在上面一段中)。对于reset.index(),基本上它会在groupby之后重置数据帧(发生在上面一段中)。谢谢,这太棒了!我得到了与作者相似的答案。我还有一个“类似”的问题:再进一步,我在“音量条”部分遇到了
    data\u vol\u grp=data\u cm\u vol.assign(grpId=lambda row:row.cmVol//vol u per\u bar)
    。这与R中的相同:
    mutate(Volcumsum=cumsum(homenomental),grp=floor(Volcumsum)/volu per_bar)%>%groupby(grp)
    听起来不错。很乐意帮忙。是的,这是正确的翻译,因为中的行是数据帧引用,所以
    row.cmVol
    row['cmVol]
    引用数据帧中的整个cmVol列。使用行别名可能会误导作者,因为这里没有运行行循环。谢谢,这太棒了!我得到了与作者相似的答案。我还有一个“类似”的问题:再进一步,我在“音量条”部分遇到了
    data\u vol\u grp=data\u cm\u vol.assign(grpId=lambda row:row.cmVol//vol u per\u bar)
    。这与R中的相同:
    mutate(Volcumsum=cumsum(homenomental),grp=floor(Volcumsum)/volu per_bar)%>%groupby(grp)
    听起来不错。很乐意帮忙。是的,这是正确的翻译,因为中的行是数据帧引用,所以
    row.cmVol
    row['cmVol]
    引用数据帧中的整个cmVol列。使用行别名可能会误导作者,因为此处没有运行行循环。
    data_tick_grp <- data %>%
                       data.frame(row.names = NULL) %>%
                       mutate(grpId = floor(0:(nrow(data)-1) / num_ticks_per_bar))