gpt4 book ai didi

python - Pandas:有条件地用集合替换

转载 作者:行者123 更新时间:2023-11-28 20:59:14 25 4
gpt4 key购买 nike

我有一组常用的电子邮件地址,如下所示:

common_addresses = set(["yahoo.com", "gmail.com", "hotmail.com"])

我有一个 Pandas DataFrame,df,它看起来像:

id email_domain
1 yahoo.com
2 gmail.com
3 unk.com
4 new.com

我想将不在我的 common_addresses 中的电子邮件替换为“rare”。这是我的尝试:

mask = df.email_domain not in common_addresses
df.loc[mask, "email_domain"] = "rare"

我在 mask = ... 行中收到如下错误:

TypeError: 'Series' objects are mutable, thus they cannot be hashed

我应该如何制作这个面具?

谢谢!

最佳答案

你快到了。对于您要使用的系列 .isin()检查成员资格。在您的情况下,您应该将代码更改为:

mask = ~df.email_domain.isin(common_addresses)
df.loc[mask, "email_domain"] = "rare"

此外,您需要使用~ 运算符(而不是not)来对系列进行操作。

关于python - Pandas:有条件地用集合替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50027936/

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