Python数据帧删除前n行,并上移剩余行



我有一个2500行的数据帧。我正在尝试删除前n行,并在不更改索引的情况下向上移动剩余行。我举了一个我的问题和我想要的例子

df = 
A
10    10.5
11    20.5
12    30.5
13    40.5
14    50.5
15    60.5
16    70.5

在上面的文章中,我想删除最上面的两行,并在不干扰索引的情况下上移剩余的行。我的代码和当前输出:

idx = df.index
df.drop(df.index[:2],inplace=True)
df.set_index(idx[:len(df)],inplace=True)
df = 
A
10    30.5
11    40.5
12    50.5
13    60.5
14    70.5

我得到了我想要的输出。有更好的方法吗?比如,一行代码?

您可以使用iloc删除行,并将索引设置为不包含最后2个值的原始索引。

df = df.iloc[2:].set_index(df.index[:-2])
df = pd.DataFrame(df.A.shift(-2).dropna(how='all'))

您还可以使用shift((删除生成的Na行,以创建数据帧。

最新更新