将Python行转换为R:
我正在关注一篇博文,我有点被一个部分卡住了,关于从Python pandas到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行:-不确定这是做什么的 行索引-这与行编号相同吗 \\
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))