2024-04-20 07:47:54 发布
网友
如果我有这样的数据框:
0 1 5 7 3 7 1 9 2 NaN 4 3 NaN 3 2 1 1 3 2 8 4 2 NaN 2 NaN 3 1 0 4 1 2 1 5 1 NaN 7 3 2 1 3 5 0 NaN 2 1 3 1 4 5 3 1 2 NaN 1 3 1 2 NaN 2 1
如何在每行中找到最后五个连续值?如下所示:
3 7 1 9 2 3 1 0 4 1 2 1 3 5 0 4 5 3 1 2
让我们试试这个:
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
让我们试试这个:
或者
输出:
相关问题 更多 >
编程相关推荐