gpt4 book ai didi

python - 数据框上的多个条件

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

我正在尝试编写一个新列“is_good”,如果“value”列中的数据集在范围 1 到 6 之间并且“value2”列在 < strong>范围 5 到 10 如果不满足这两个条件,则标记为 0

我知道如果你这样做,

df['is_good'] = [1 if (x >= 1 and x <= 6) else 0 for x in df['value']]

它会根据值的范围填写 1 或 0,但在标记 1 或 0 时我还会如何考虑 value2 的范围。

无论如何我可以在没有 numpy 的情况下实现这个目标吗?

提前致谢!

最佳答案

我认为需要双 between& 的链式条件(按位与):

df = pd.DataFrame({'value':range(13),'value2':range(13)})
df['is_good'] = (df['value'].between(1,6) & df['value2'].between(5,10)).astype(int)

或者使用4个条件:

df['is_good'] =  ((df['value'] >= 1) & (df['value'] <= 6) & 
(df['value2'] >= 5) & (df['value'] <= 10)).astype(int)


print (df)
value value2 is_good
0 0 0 0
1 1 1 0
2 2 2 0
3 3 3 0
4 4 4 0
5 5 5 1
6 6 6 1
7 7 7 0
8 8 8 0
9 9 9 0
10 10 10 0
11 11 11 0
12 12 12 0

关于python - 数据框上的多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49513661/

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