如何解决熊猫截断不完整的时间序列
我有多个熊猫df。我希望提取存在每月数据的数据。例如,对于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
解决方法
使用Series.groupby
将DATE
和Year-Month
上的transform
列分组,并使用count
计算天数,然后使用Series.eq
+ Series.dt.daysinmonth
创建一个布尔掩码,并使用它过滤行:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。