我有一个多索引数据框,如下所示:
In [45]: df
Out[45]:
Last Days to expiry
Date Ticker
1988-06-23 COU88 15.65 48 days
COV88 15.65 78 days
1988-06-24 COU88 15.65 47 days
COV88 15.56 77 days
COX88 15.75 108 days
1988-06-27 COU88 15.10 44 days
COV88 15.30 74 days
1988-06-28 COU88 15.27 43 days
COV88 15.27 73 days
1988-06-29 COU88 14.97 42 days
COV88 14.92 72 days
1988-06-30 COU88 14.85 41 days
COV88 14.80 71 days
有两个索引级别(即'Date'和'Ticker')。 我想用第一行所有日期的整数切片,这意味着第一个自动收报机。结果应如下所示:
Last Days to expiry
Date Ticker
1988-06-23 COU88 15.65 48 days
1988-06-24 COU88 15.65 47 days
1988-06-27 COU88 15.10 44 days
1988-06-28 COU88 15.27 43 days
1988-06-29 COU88 14.97 42 days
1988-06-30 COU88 14.85 41 days
另外,如果可能,我想过滤列以仅获取名为“Last”的列。我无法为df.iloc
获得正确的语法非常感谢您的提示
答案 0 :(得分:3)
您可以在第一个索引级别groupby
并致电first
:
In [173]:
df.groupby(level='Date').first()
Out[173]:
Last Days to expiry
Date
1988-06-23 15.65 48 days
1988-06-24 15.65 47 days
1988-06-27 15.10 44 days
1988-06-28 15.27 43 days
1988-06-29 14.97 42 days
1988-06-30 14.85 41 days