gpt4 book ai didi

python - 根据另一列特定值的每次出现在 pandas 中添加索引

转载 作者:行者123 更新时间:2023-12-01 06:33:21 26 4
gpt4 key购买 nike

我有一个像这样的数据框:

category name   age 
parent harry 29
child smith 12
parent sally 41
child david 19
child mike 16

我想根据每次出现的类别列值“parent”(数据框按顺序)添加一列来对族进行分组。如:

category name   age  family_id
parent harry 29 0
child smith 12 0
parent sally 41 1
child david 19 1
child mike 16 1

我试图使 family_id 成为一个递增的整数。

我已经尝试了一堆 group_by,目前正在尝试编写自己的 apply 函数,但它非常慢并且无法按预期工作。我还没有找到一个示例,可以根据列值对每次出现的列值进行分组相同

最佳答案

您可以使用eq如果 category 列等于 parentcumsum 则匹配, sub是减去 1,因为这里的 cumsum 从 1 开始:

df['family_id'] = df['category'].eq('parent').cumsum().sub(1)
print(df)
<小时/>
  category   name  age  family_id
0 parent harry 29 0
1 child smith 12 0
2 parent sally 41 1
3 child david 19 1
4 child mike 16 1

关于python - 根据另一列特定值的每次出现在 pandas 中添加索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59789887/

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