为了账号安全,请及时绑定邮箱和手机立即绑定

获取熊猫每个月的最后一个非 NaN 值

获取熊猫每个月的最后一个非 NaN 值

慕码人8056858 2021-12-16 15:56:13
我有一个表单的 DataFrameeqt_code    ACA_FP  AC_FP  AI_FPBDATE                           2015-01-01     NaN    NaN    NaN2015-01-02     NaN    NaN    NaN2015-01-05       1    NaN    NaN2015-01-06     NaN    NaN    NaN2015-01-07     NaN    NaN    NaN2015-01-08     NaN    0.2    NaN2015-01-09     NaN    NaN    NaN2015-01-12       5    NaN    NaN2015-01-13     NaN    NaN    NaN2015-01-14     NaN    NaN    NaN2015-01-15     NaN    NaN    NaN而且我希望每个月都获得每列的最后一个非 NaN 值(如果没有有效值,则为 NaN )。因此导致类似eqt_code    ACA_FP  AC_FP  AI_FPBDATE                           2015-01-31       5    0.2    NaN2015-02-28      10      1      32015-03-31     NaN    NaN      32015-04-30      10      1      3我有两个想法来执行此操作:做一个ffill到月底的限制。类似的东西df.ffill(<add good thing here>).resample('M').last()。last_valid_index与 一起使用resample('M')。
查看完整描述

2 回答

?
森林海

TA贡献2011条经验 获得超2个赞

使用 resample


df.resample('M').last()

Out[82]: 

            ACA_FP  AC_FP  AI_FP

eqt_code                        

2015-01-31     1.0    0.2    NaN


查看完整回答
反对 回复 2021-12-16
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

使用groupby和last:


# Do this if the index isn't a DatetimeIndex.

# df.index = pd.to_datetime(df.index)

df.groupby(df.index + pd.offsets.MonthEnd(0)).last()


            ACA_FP  AC_FP  AI_FP

BDATE                           

2015-01-31     5.0    0.2    NaN

...


查看完整回答
反对 回复 2021-12-16
  • 2 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信