在 python 中使用 pandas 在数据框中创建一个新列,以便新列应该是基于现有列的 True/False 格式

数据挖掘 Python 熊猫
2022-03-01 11:53:53

我试图为数据框创建一个新列,以便新列应该具有True/False基于某种模式的格式。

我的数据框:

df = pd.DataFrame([[1,16],[21,3],[0.9,56]])
df.columns=['A','B']
df.index = ['1','2','3']
df

在此处输入图像描述

我想创建一个新列,如果 A > 2 和 B < 30 在新列中的值为 True,否则值为 False。

我尝试使用np.where来获取新列,但我不确定如何将值设为 True 或 False。

2个回答

您可以使用np.where,但仅使用系列比较也应该有效:

df["col"] = (df["A"] > 2) & (df["B"] < 30)

好吧,显然使用@Oxbowerce 发布的系列比较的解决方案是最好的选择,因为不需要导入像 Numpy 这样的大工具来完成这个简单的任务。但是,如果有人要求使用 的解决方案,numpy.where则可能如下:

import numpy as np

df['New Column'] = np.where((df["A"] > 2) & (df["B"] < 30), True, False)