Lui*_*uez 3 python sorting dataframe pandas
我有一个pandas DataFrame,其中包含以下格式的日期:yyyy-mm-dd:
id1 = ['2015-09-23', '2014-07-08', '2015-07-30', '2008-09-26',
'2009-07-13', '2009-09-28', '2014-04-10', '2009-06-03']
id2 = ['2011-04-15', '2015-11-30', '2015-06-15', '2015-12-01',
'2015-12-23', '2009-01-14', '2009-06-17', '2009-08-07']
id3 = ['2010-01-26', '2010-03-16', '2011-11-23', '2012-01-31',
'2012-06-08', '2012-10-26', '2013-01-07', '2013-11-12']
df = pd.DataFrame({'dates':id1 + id2 + id3,'id':['id1']*8+['id2']*8+['id3']*8})
Run Code Online (Sandbox Code Playgroud)
由此,我想得到每个id的第一个和最后一个日期.
我尝试了以下方法:
df.groupby(['id'])['dates'].agg({'sort':sorted})
Run Code Online (Sandbox Code Playgroud)
问题是我只能看到第一个日期而不是最后一个日期.我希望输出一个只包含两个元素的列表:第一个和最后一个日期.而不是整个列表.
十分简单
df.groupby('id').dates.agg({'date ': ['first', 'last']})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1973 次 |
| 最近记录: |