繁体   English   中英

大熊猫每列ID下降n行

[英]Pandas drop first n Rows per column id

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

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

如果我理解您的问题,您需要一个新数据框,其中删除了数据帧的前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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM