gpt4 book ai didi

Python,pandas 根据停止条件找到每一行的长度

转载 作者:太空宇宙 更新时间:2023-11-04 09:28:41 26 4
gpt4 key购买 nike

我有一个数据集,其中 -1 表示我需要停止阅读的点。例如数据集看起来像这样:

          0   1   2    3    4  5
0 58 68 58 59 -1 -1
1 59 69 59 -1 -1 -1
2 93 94 93 33 -1 -1
3 58 59 58 68 -1 -1
4 92 94 92 33 -1 -1

第 4 列的 -1 表示停止读取元素。

更准确地说,我想为所有行返回每行的长度(在出现 -1 之前存在多少个元素)。

所以第一行的长度为 4(4 个元素直到 -1)。第二行的长度为 3。第三行的长度为 4,依此类推。

为了做到这一点,我认为我需要在 pandas 中可能需要一种方法来获取每行第一个 -1 出现的索引。

我如何在 pandas 中以一种很好的方式做类似的事情(所以避免长 for 循环选项?)

在此先感谢您的帮助。问候亚历克斯

最佳答案

另一种方法涉及从 df.shape[1] 中减去 True 的总和:

df.assign(new=df.shape[1]-df.eq(-1).sum(axis=1))

    0   1   2   3  4  5  new
0 58 68 58 59 -1 -1 4
1 59 69 59 -1 -1 -1 3
2 93 94 93 33 -1 -1 4
3 58 59 58 68 -1 -1 4
4 92 94 92 33 -1 -1 4

关于Python,pandas 根据停止条件找到每一行的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56566528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com