gpt4 book ai didi

python - Pandas 根据条件为每一行创建一个唯一的 id

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:11 24 4
gpt4 key购买 nike

我有一个数据集,其中一列如下所示。我想根据以下条件创建一个新列。

对于 column_name 中的值,如果存在 1,则创建一个新 ID。如果存在 0,还创建一个新 ID。但是如果 1 在超过 1 个连续行中重复,则所有行的 id 应该相同。示例输出结果如下所示。

column_name
1
0
0
1
1
1
1
0
0
1

column_name -- ID
1 -- 1
0 -- 2
0 -- 3
1 -- 4
1 -- 4
1 -- 4
1 -- 4
0 -- 5
0 -- 6
1 -- 7

最佳答案

说你的系列是

s = pd.Series([1, 0, 0, 1, 1, 1, 1, 0, 0, 1])

然后你可以使用:

>>> ((s != 1) | (s.shift(1) != 1)).cumsum()
0 1
1 2
2 3
3 4
4 4
5 4
6 4
7 5
8 6
9 7
dtype: int64

这会检查当前条目不为 1,或者前一个条目不为 1,然后对结果执行累加和。

关于python - Pandas 根据条件为每一行创建一个唯一的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53991981/

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