熊猫据帧 - 移行下来,保持数据

问题描述:

我原来的数据帧(DF):熊猫据帧 - 移行下来,保持数据

column1 column2 
0 1  a 
1 2  b 
2 3  c 
3 4  d 
4 5  e 
5 6  f 

我想6,像这样的值向下移位:

column1 column2 
0  
1  
2  
3  
4  
5  
6 1  a 
7 2  b 
8 3  c 
9 4  d 
10 5  e 
11 6  f 

当我使用df = df.shift(6),我最终失去了数据。

我发现这个职位(How to shift a column in Pandas DataFrame without losing value),但它似乎只我怎么能转移多点下来,同时保持数据的工作,如果该值由1

下移?

您可以尝试

df.index = df.index+6 
df = df.reindex(np.arange(12)) 

    column1 column2 
0 NaN  NaN 
1 NaN  NaN 
2 NaN  NaN 
3 NaN  NaN 
4 NaN  NaN 
5 NaN  NaN 
6 1.0  a 
7 2.0  b 
8 3.0  c 
9 4.0  d 
10 5.0  e 
11 6.0  f 
+1

善于思考! – Allen

+0

谢谢,我最终用'df = df.reindex(np.arange(max(df.index)+1))'替换'df = df.reindex(np.arange(12))'以允许数据集是动态的(我认为这是工作)。 – andyb88

+0

很高兴它工作:) – Vaishali

shift不会改变数据框的形状,您正在寻找的是在数据框前添加一些额外的行,对于您显示的最简单的情况(即索引由整数组成),您可以操作指标如下达到你需要的东西:

df.index = df.index + 6 
df.reindex(range(6) + df.index.tolist())  

#column1 column2 
#0 NaN NaN 
#1 NaN NaN 
#2 NaN NaN 
#3 NaN NaN 
#4 NaN NaN 
#5 NaN NaN 
#6 1.0 a 
#7 2.0 b 
#8 3.0 c 
#9 4.0 d 
#10 5.0 e 
#11 6.0 f