熊猫据帧 - 移行下来,保持数据
问题描述:
我原来的数据帧(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
答
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
善于思考! – Allen
谢谢,我最终用'df = df.reindex(np.arange(max(df.index)+1))'替换'df = df.reindex(np.arange(12))'以允许数据集是动态的(我认为这是工作)。 – andyb88
很高兴它工作:) – Vaishali