gpt4 book ai didi

python - pandas 如果满足条件则将值赋给两个变量

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:47 28 4
gpt4 key购买 nike

我想逐行检查是否满足某些条件,然后为多个列赋值。

这就是我想要的,

df.ix[(df.city.isin(["UNKNOWN"]) | df.city.isnull()) & (df.street.str[0:4].str.contains('TRAN')|df.street.str[0:4].str.contains('TRAS')| \
df.street.str[0:4].str.contains('HOM')|df.street.str.contains("(HOMELESS)|")|df.city.str.contains("HOMELESSS") ),'city']="HOMELESS"

df.ix[(df.city.isin(["UNKNOWN"]) | df.city.isnull()) & (df.street.str[0:4].str.contains('TRAN')|df.street.str[0:4].str.contains('TRAS')| \
df.street.str[0:4].str.contains('HOM')|df.street.str.contains("(HOMELESS)|")|df.city.str.contains("HOMELESSS") ),'homeless']=1

但我想知道是否有一种无需迭代两次的方法。

最佳答案

你可以使用一个列表作为第二个轴的索引:

df = pd.DataFrame(np.random.randint(0, 10, size=(10, 4)), columns=list("ABCD"))
df.ix[(df.A > 5) & (df.B < 8), ["A", "B"]] = -10, -10

关于python - pandas 如果满足条件则将值赋给两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27515320/

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