数据帧列的熊猫条件连接



这个问题是Pandas有条件创建系列/数据帧列的扩展

给定以下数据帧:

df = pd.DataFrame(np.random.randint(0,20,size=(10, 2)), columns=list('AB'))
df["note"]="old note"

我需要在 A>B 时更新 A 并记下列。这是我尝试过的:

df.loc[df.A>df.B, "note"]="A was: "+str(df.A)
df.loc[df.A>df.B, "A"]=df.B

df["note"]=np.where(df.A>df.B, "A was: "+str(df["A"]), df["note"])
df.loc[df.A>5, "A"]=df.B

注释列不干净,它将整个 A 列连接在一个单元格中,而我只想保留同一行的值。 你能帮忙吗?

这是将列转换为字符串的问题,请使用Series.astype

df.loc[df.A>df.B, "note"]="A was: "+df.A.astype(str)

最新更新