Pandas每列标识

时间:2017-03-23 22:18:03

标签: python pandas

示例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

这里的任何指导将不胜感激。我无法得到任何工作。

2 个答案:

答案 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))