这对我来说是非平凡的,所以我想检查其他人是否有一个简单的解决方案:
假设我有pd.Series
的任意数字(比如3):看起来像:
first = pd.Series(range(5))
second = pd.Series(range(7))
third = pd.Series(range(6))
我想让它们具有相同的长度(7 - 这是最大的长度)并填充较短的那些np.nan
s在顶部(可选地在底部),以便首先看起来像:
nan
nan
0
1
2
3
4
等等。
答案 0 :(得分:1)
您可以使用reindex
为每个系列添加一个新索引。如果新索引包含不在原始系列中的标签' index,然后填入library(shiny)
library(htmlwidgets)
library(slick)
server <- function(input, output) {
output$test_slick <- renderSlick({
slick(paste0("http://placehold.it/350x300?text=",1:9),
options=list(dots=TRUE,autoplay=TRUE))
})
}
ui <- fluidPage(
tags$style(HTML("body {background-color: #2682d5}")),
slickOutput('test_slick',width="350px",height="300px")
)
shinyApp(ui = ui, server = server)
值(除非指定了不同的NaN
):
fill_value
您可以通过选择重建索引标签来控制NaN的位置:
In [15]: first.reindex(range(7))
Out[15]:
0 0.0
1 1.0
2 2.0
3 3.0
4 4.0
5 NaN
6 NaN
dtype: float64
请注意,包含In [19]: first.reindex(range(-2,5))
Out[19]:
-2 NaN
-1 NaN
0 0.0
1 1.0
2 2.0
3 3.0
4 4.0
dtype: float64
s会强制将NaN
的dtype从整数dtype提升为浮点dtype,因为first
是浮点数(因此系列整数dtype不能包含NaN
s)。