将最后一个有效索引掩码应用于数据帧以获取最后一个有效值

2024-03-11

我有一个如下所示的数据框:

    s1        s2       s3       s4
0   v1        v2       v3       v4
0   v5        v6       v7       np.nan
0   v8      np.nan     v9       np.nan
0   v10     np.nan     np.nan   np.nan

本质上从上到下有数值,并且跨列的一些随机索引值将仅切换到 np.nan。

我已经使用 .apply(pd.Series.last_valid_index) 来获取其值仍然是数字的索引,但是,我不确定检索具有实际值的系列的最有效方法最后一个有效索引。

理想情况下,我能够得出一个如下所示的系列:

   value
s1 v10
s2 v6
s3 v9
s4 v4

或者作为一个数据框,看起来像

   s1 s2 s3 s4
0 v10 v6 v9 v4

非常感谢!


这是另一种方法,无需重置索引:

df.apply(lambda x: x[x.notnull()].values[-1])

s1    v10
s2     v6
s3     v9
s4     v4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将最后一个有效索引掩码应用于数据帧以获取最后一个有效值 的相关文章

随机推荐