gpt4 book ai didi

python - 添加一个 "flag"列,说明一个 ID 是否在另一列中具有特定值

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

数据框是这样的:

 In [1]: df
Out[2]:
userid type
0 1 1
1 1 2
2 2 1
3 3 1
4 3 2
5 3 3

现在我想向其中添加一个列,说明用户标识是否在“类型”列中具有某些值(假设为 type1 和 type2)。这是我想要的输出:

 In [1]: df
Out[2]:
userid type has_type_12
0 1 1 1
1 1 2 1
2 2 1 0
3 3 1 1
4 3 2 1
5 3 3 1

有没有快速的解决方案?


我忽略了一种情况,用户 ID 3 可能有更多类型,例如 3 或 4。在这种情况下,我想为 3 标记 has_type_12 = 1。我已经修改了上面的输入和所需的输出。

最佳答案

In [308]: df['has_type_12'] = \
df.groupby('userid')['type'].transform(lambda x: x[x.isin([1,2])].nunique() == 2)

In [309]: df
Out[309]:
userid type has_type_12
0 1 1 1
1 1 2 1
2 2 1 0
3 3 1 1
4 3 2 1
5 3 3 1

关于python - 添加一个 "flag"列,说明一个 ID 是否在另一列中具有特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44323838/

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