示例DataFrame
df = pd.DataFrame(np.random.randint(2200, 3300, 50), index=[np.random.randint(0,6, 50)] ,columns=list('A'))
以下是数据外观的示例
A
5 2393
4 2421
0 3038
5 2914
4 2559
4 2314
5 3006
3 2553
0 2642
3 2441
3 2512
0 2412
我想要做的是删除索引的前n个(让我们使用2个例子)记录。因此,从之前的数据示例中,它将成为......
A
4 2314
5 3006
3 2512
0 2412
这里的任何指导将不胜感激。我无法得到任何工作。
答案 0 :(得分:3)
将tail
与-2
s.groupby(level=0, group_keys=False).apply(pd.DataFrame.tail, n=-2)
A
0 2412
3 2512
4 2314
5 3006
要真正确定下来
s.groupby(level=0, group_keys=False, sort=False).apply(pd.DataFrame.tail, n=-2)
A
5 3006
4 2314
0 2412
3 2512
答案 1 :(得分:0)
如果我了解您的问题,您需要删除数据框的第一行n
行的新数据框。如果这是你想要的,我会重置索引,然后根据pandas的默认索引删除,然后放回原始索引。这是你如何做到这一点。
df = pd.DataFrame(data=np.random.randint(2200, 3300, 50),
index=np.random.randint(0,6, 50),
columns=list('A'))
n = 5
print(df.head(n * 2))
df_new = df.reset_index().drop(range(n)).set_index('index')
print(df_new.head(n))