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

如何获取熊猫数据帧行中的最后五个连续值?

如何获取熊猫数据帧行中的最后五个连续值?

小怪兽爱吃肉 2021-05-02 16:13:13
如果我有这样的Pandas Data Frame:0     1 5 7 3   7 1 9   2 NaN 4 3 NaN 3 21     1 3 2 8   4 2 NaN 2 NaN 3 1 0   4 12     1 5 1 NaN 7 3 2   1 3   5 0 NaN 2 13     1 4 5 3   1 2 NaN 1 3   1 2 NaN 2 1如何找到每行中的最后五个连续值?如下所示:3 7 1 9 23 1 0 4 12 1 3 5 04 5 3 1 2
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

让我们尝试一下:


df.T.apply(lambda x:  x[x.groupby(x.isnull().cumsum()).transform('count')>4].dropna().tail(5).values).T


     0    1    2    3    4

0  3.0  7.0  1.0  9.0  2.0

1  3.0  1.0  0.0  4.0  1.0

2  2.0  1.0  3.0  5.0  0.0

3  4.0  5.0  3.0  1.0  2.0

或者


df.apply(lambda x: pd.Series(x[x.groupby(x.isnull().cumsum()).transform('count')>4].dropna().tail(5).values), axis=1)

输出:


     0    1    2    3    4

0  3.0  7.0  1.0  9.0  2.0

1  3.0  1.0  0.0  4.0  1.0

2  2.0  1.0  3.0  5.0  0.0

3  4.0  5.0  3.0  1.0  2.0


查看完整回答
反对 回复 2021-05-11
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

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