熊猫:顶部或底部的垫系列

时间:2016-08-03 12:01:19

标签: pandas series

这对我来说是非平凡的,所以我想检查其他人是否有一个简单的解决方案:

假设我有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

等等。

1 个答案:

答案 0 :(得分:1)

您可以使用reindex为每个系列添加一个新索引。如果新索引包含不在原始系列中的标签&#39; 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)。