如果在其他两列之间,Pandas 可以有效地添加新列 true/false

a11

使用 Pandas,如果一列 ( x) 中的值介于其他两列 (lowhigh) 中的值之间,我如何有效地添加为真/假的新列

这里np.select方法效果很好,但我“感觉”应该有一种单线方式来做到这一点。

使用 Python 3.7

fid = [0, 1, 2, 3, 4]
x = [0.18, 0.07, 0.11, 0.3, 0.33]
low = [0.1, 0.1, 0.1, 0.1, 0.1]
high = [0.2, 0.2, 0.2, 0.2, 0.2]
test = pd.DataFrame(data=zip(fid, x, low, high), columns=["fid", "x", "low", "high"])

conditions = [(test["x"] >= test["low"]) & (test["x"] <= test["high"])]
labels = ["True"]
test["between"] = np.select(conditions, labels, default="False")

display(test)

在此处输入图片说明

埃桑

就像@Brebdan 提到的,你可以使用这个内置:

test["between"] = test["x"].between(test["low"], test["high"])

输出:

    fid x   low high    between
0   0   0.18    0.1 0.2 True
1   1   0.07    0.1 0.2 False
2   2   0.11    0.1 0.2 True
3   3   0.30    0.1 0.2 False
4   4   0.33    0.1 0.2 False

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 Pandas 有效地根据现有列的值向新列添加值

如何有效地在具有不同维度的多维numpy数组中添加列?

有效地为所有行和列添加前缀

有效地将字典映射为新列

熊猫数据框采用列并有效地将其追加为新行

有效地比较两列中的列表

我可以更有效地拆分包含元组/无的混合列吗?

如何有效地将列数据添加为行?

如何有效地在Spark Datframe中添加多个列

pandas groupby:有效地构建多个列

如果在 PostgresQL 中存在其他第 2 列值,如何选择第 1 列值?

如何更有效地替換列?

有效地从矩阵中逐列减去

如何有效地更新表的列值?

有效地减去许多列

有效地汇总(计数)列

如何使用依赖于其他列的值有效地将多个列添加到pandas数据框

有效地将列中的功能应用于其他列

SQL如果在SQL中存在其他条件,如何添加

如果在其他两个类中不存在新对象,如何在Python Django中创建一个新对象?

Pandas:创建一个新列,在其他两列中的值之间交替

如果在另一个表的其他两个列的范围之间找到一个新列,则该列将填充另一个表中的值

如果在其他2列中满足条件,我如何在Excel中使用查找从第三列返回值

如果在其他具有多列的电子表格上匹配,则为常规格式

如果值在其他两个值之间,则打印列

根据其他列的正则表达式捕获组中的值,将列有效地添加到数据框

有效地组合两个列表产生一组新列表

如果尚不存在,如何有效地将元素添加/推入数组

如何有效地在数据框的列之间交换元素?