如何在Pandas DataFrame中移动列而不丢失值

4

我想要在Pandas DataFrame中移动一列,但是我没有找到一种方法可以在不丢失值的情况下实现它。 (这篇文章与How to shift a column in Pandas DataFrame非常相似,但经过验证的答案并没有给出所需的输出,而我也无法对其进行评论)。 有人知道如何做吗?

##    x1   x2
##0  206  214
##1  226  234
##2  245  253
##3  265  272
##4  283  291

希望输出:

##    x1   x2
##0  206  nan
##1  226  214
##2  245  234
##3  265  253
##4  283  271
##5  nan  291

1
可能是 如何在 Pandas DataFrame 中移动列 的重复问题。 - Kay Wittig
1个回答

11

使用loc方法向DataFrame添加新的空行,然后执行shift操作。

df.loc[max(df.index)+1, :] = None
df.x2 = df.x2.shift(1)

以上代码假定您的索引是基于整数的,这是pandas的默认设置。如果您使用的是非基于整数的索引,请用您想要的新最后索引替换max(df.index)+1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接