根据另一列的值分配值



我有一个数据集df,看起来像这样:

code
Germany
Italy
Germany
France

我想创建一个新列

df['status']

,并根据code列为其赋值。无论代码是德国,我想给df['status']赋值&;on &;。在其他地方,我想写"off"。我怎样才能做到这一点呢?

我使用.apply()的一些解决方案,但我读到有较慢,这就是为什么我正在寻找替代品。

您可以使用遮罩:

# Create column with default value
df["status"] = "OFF"
# Change value based on mask value
df.loc[df["code"] == "Germany", "status"] = "ON"

我将使用TrueFalse而不是"ON""OFF",它节省了一些内存,它通常是一个更好的代码实践。

最新更新