gpt4 book ai didi

python - 如何根据条件创建新列?

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

我有以下数据框df:

col1  col2
1 C
1 B
1 A
2 C
2 C
3 A
3 C
3 B

我需要创建一个新列 col3 并为每个唯一的 col1 分配 TF:对于每个唯一的 col1,如果至少一行等于 col2 中的 A,则 col3 等于 T。否则,它等于 F

预期结果:

col1  col2  col3
1 C T
1 B T
1 A T
2 C F
2 C F
3 A T
3 C T
3 B T

我该怎么做?我尝试使用 apply(lambda ...) 解决方案,但它按行进行并仅在 col1 为 1 时分配 T(基本上是因为 1 的最后一行等于A).

最佳答案

您还可以像这样使用 numpywhere 函数:

>> import numpy as np
>> df['col3'] = np.where(df['col1'].isin(df[df['col2']=='A']['col1'].unique()), 'T', 'F')
>> print(df)
col1 col2 col3
0 1 C T
1 1 B T
2 1 A T
3 2 C F
4 2 C F
5 3 A T
6 3 C T
7 3 B T

关于python - 如何根据条件创建新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57843241/

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