我有一个如下所示的数据框:
df_raw.head()
Ticker FY Periodicity Measure Val Date
0 BP9DL90 2009 ANN CPX 1000.00 2008-03-31 00:00:00
1 BP9DL90 2010 ANN CPX 600.00 2009-03-25 00:00:00
2 BPRTD89 2010 ANN CPX 600.00 2009-09-16 00:00:00
3 BP9DL90 2011 ANN CPX 570.00 2010-03-17 00:00:00
4 BPSRD74 2011 ANN GRM 57.09 2010-09-06 00:00:00
[5 rows x 6 columns]
如何过滤掉表格,以便为每个Date
获取最大Ticker
的行(与其他列值无关)? Date
采用时间戳格式。
由于
答案 0 :(得分:2)
使用idxmax
:
>>> df['Date'] = pd.to_datetime(df['Date']) # in case `Date` column is string
>>> i = df.groupby('Ticker')['Date'].idxmax().values
>>> df.loc[i,:]
Ticker FY Periodicity Measure Val Date
3 BP9DL90 2011 ANN CPX 570.00 2010-03-17
2 BPRTD89 2010 ANN CPX 600.00 2009-09-16
4 BPSRD74 2011 ANN GRM 57.09 2010-09-06