Python Dataframe多条件列值更新



你好,我想简化下面的代码。它的工作原理,但我想创建一个字典C9, 4A, C8,并希望做相同的代码与单个语句。

df.loc[df["Column"] =="C9","New_Column"]="LCV"
df.loc[df["Column"] =="4A"," New_Column"]="LCV"
df.loc[df["Column"] =="C8","New Column"]="LCV"

有10行这样的语句。如果列值为C9或4A或C8,我想将新列值更新为LCV。

如果你能帮助我,我会很感激的。

.

问好

Usepd.Series.isin:

>>> df.loc[df["Column"].isin(["4A", "C8", "C9"]),"New_Column"]="LCV"

尝试:

values = ["C9", "4A", "C8"]
df.loc[df["Column"].isin(values), "New_Column"]="LCV"

我使用apply函数,我给它传递了一个lambda函数,它会检查每一行,如果列值在项目中,它会输入"LVC">

为New_Column的值赋值,否则将置None。
items = ["C9", "4A", "C8"]
df["New_Column"] = df.apply(lambda row: "LVC" if row.Column in items else None, axis = 1) 

相关内容

  • 没有找到相关文章

最新更新