为什么我不能在迭代pandas数据帧时添加新列?

时间:2018-06-08 08:25:48

标签: python pandas

我想在迭代时向pandas df添加一个新列:

for index, row in df.iterrows():
    row["newcolumn"] = row["oldcolumn"].normalize() #normalize() is a custom function
然而,这使我的df不加试验。这是为什么?

1 个答案:

答案 0 :(得分:0)

locdf

一起使用
for index, row in df.iterrows():
    df.loc[index, "newcolumn"] = row["oldcolumn"].normalize() 

但对于better performance,如果不存在某些矢量化解决方案,最好使用apply

df["newcolumn"] = df["oldcolumn"].apply(normalize)