我原来的Dataframe(df):
String borrar = getIntent().getStringExtra("EXTRA_BORRAR_POST");
if (borrar != null) {
// always good to log important values
Log.d(TAG, "borrar= " + borrar);
DatabaseReference mipost = FirebaseDatabase.getInstance().getReference();
mipost.child("user-posts").child(getUid()).child(borrar).removeValue(mRemoveListener);
mipost.child("posts").child(borrar).removeValue(mRemoveListener);
mipost.child("post-comments").child(borrar).removeValue(mRemoveListener);
}
我想将值降低6,如下所示:
column1 column2
0 1 a
1 2 b
2 3 c
3 4 d
4 5 e
5 6 f
当我使用 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
时,我最终会丢失数据。
我发现了这篇帖子(How to shift a column in Pandas DataFrame without losing value),但只有当值向下移动1时,它似乎才有效。
如何在保留数据的同时向下移动多个点?
答案 0 :(得分:0)
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
答案 1 :(得分:0)
你可以尝试
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