Python为datafram中每组的前3个值选择数据

2024-04-26 20:43:24 发布

您现在位置:Python中文网/ 问答频道 /正文

从按ID和日期排序的给定数据帧:

ID  Date        Value
1   12/10/1998  0
1   04/21/2002  21030
1   08/16/2013  56792
1   09/18/2014  56792
1   09/14/2016  66354
2   06/16/2015  46645
2   12/08/2015  47641
2   12/11/2015  47641
2   04/13/2017  47641
3   07/29/2009  28616
3   03/31/2011  42127
3   03/17/2013  56000

我想获取前3个日期的值,按ID分组:

56792
56792
66354
47641
47641
47641
28616
42127
56000

我只需要价值观


Tags: 数据iddate排序value价值观
1条回答
网友
1楼 · 发布于 2024-04-26 20:43:24

您可以通过IDDate^{},并使用^{}获取前三个日期的值:

df.Date = pd.to_datetime(df.Date)
df.sort_values(['ID','Date']).groupby('ID').Value.tail(3).to_numpy()

# array([56792, 56792, 66354, 47641, 47641, 47641, 28616, 42127, 56000])

相关问题 更多 >