Python 截断不完全时间序列

Python 截断不完全时间序列,python,pandas,dataframe,Python,Pandas,Dataframe,我有多只熊猫。我希望在存在月度数据的情况下提取数据。例如,对于df PORTFOLIO DATE IRR A 2018-02-27 0.7 A 2018-02-28 0.8 A 2018-03-01 0.9 A 2018-03-02 0.4 A 2018-03-03 0.2 A 2018-03-04 0.3 A 2018-03

我有多只熊猫。我希望在存在月度数据的情况下提取数据。例如,对于df

   PORTFOLIO       DATE  IRR
          A 2018-02-27  0.7
          A 2018-02-28  0.8
          A 2018-03-01  0.9
          A 2018-03-02  0.4
          A 2018-03-03  0.2
          A 2018-03-04  0.3
          A 2018-03-05  0.4
          A 2018-03-06  0.9
.
.
.
.
          A 2018-03-31  0.8
          A 2018-04-01  0.9
          A 2019-04-02  0.4
          A 2019-04-03  0.8
输出应为:

   PORTFOLIO       DATE  IRR
          A 2018-03-01  0.9
          A 2018-03-02  0.4
          A 2018-03-03  0.2
          A 2018-03-04  0.3
          A 2018-03-05  0.4
          A 2018-03-06  0.9
.
.
.
.
          A 2018-03-31  0.8
有没有办法做到这一点?理想情况下,我能够使用DATE>=2018-03-01和DATE对
年-月
上的
日期
列进行分组,并使用
计数
转换计算天数,然后使用+创建布尔掩码并使用该掩码过滤行:

s = df['DATE'].groupby(df['DATE'].dt.strftime('%Y-%m')).transform('count')
df = df[s.eq(df['DATE'].dt.daysinmonth)]
结果:

  PORTFOLIO        DATE  IRR
          A  2018-03-01  0.9
          A  2018-03-02  0.4
          A  2018-03-03  0.2
          A  2018-03-04  0.3
          .
          .
          .
          A  2018-03-31  0.8

@Graipher我认为我们需要
转换
,因为我们需要将它与
daysinmonth
系列进行比较,所以这两个系列的索引都需要匹配。啊,是的。只有使用了
.agg('count')
。。。