【发布时间】:2016-12-12 01:41:48
【问题描述】:
我有一个看起来像这样的多索引数据框:
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
索引有两个级别(即“日期”和“代码”)。 我想通过整数对第一行的所有日期进行切片,这意味着第一个股票行情。结果应如下所示:
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 获得正确的语法
非常感谢您的提示
【问题讨论】:
-
IIUC 那么我认为
df.groupby(level='Date').first()应该可以工作 -
它工作得非常好!非常感谢!
-
你认为有办法让它与 df.iloc 一起工作吗?只是出于好奇
-
我找不到简单的方法,您可以
reindex通过构造一个删除重复值的新索引,但这不像groupby方法那么简单
标签: python pandas group-by multi-index