我想在迭代时向pandas df添加一个新列:
for index, row in df.iterrows():
row["newcolumn"] = row["oldcolumn"].normalize() #normalize() is a custom function
然而,这使我的df不加试验。这是为什么?
答案 0 :(得分:0)
将loc
与df
:
for index, row in df.iterrows():
df.loc[index, "newcolumn"] = row["oldcolumn"].normalize()
但对于better performance,如果不存在某些矢量化解决方案,最好使用apply
:
df["newcolumn"] = df["oldcolumn"].apply(normalize)