是否有用于重写pandas列值的语法糖?

时间:2017-09-26 17:42:08

标签: python pandas

例如我可以说我的数据框 df ,其中 A 列包含整数。

如果我想更改 A 中的所有值,以便他们都添加1,我会写这样的内容:

df["A"] = df["A"] + 1

有没有办法写这个,所以我不必两次写df [" A"]?

1 个答案:

答案 0 :(得分:3)

这些解决方案中的大多数都已在评论中提及,所以我只是在这里将它们作为答案充实。

选项1
直接分配。最惯用的方法。

df['A'] += 1

或者,您可以使用点符号来访问列:

df.A += 1

但是,这对于包含空格或以数字开头的列不起作用。

选项2
使用 df.assign (如果您想要副本,而不是就地分配,则更好)

df = df.assign(A=df['A'] + 1)

您也可以将此与 df.add 结合使用,如下所示:

df = df.assign(A=df['A'].add(1))