Python 截断不完全时间序列
我有多只熊猫。我希望在存在月度数据的情况下提取数据。例如,对于dfPython 截断不完全时间序列,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
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')
。。。