熊猫将丢弃的元素移动到开头

时间:2015-05-13 08:28:49

标签: python numpy pandas

我找不到一种简单的方法来移动pandas DataFrame,但不是丢弃最后的值,而是将它们移到开头。

e.g。

使用此代码:

import pandas as pd

df = pd.DataFrame(dict(val=[10, 20, 30, 40]))
df.shift(1)

我获得:

   val
0  NaN
1   10
2   20
3   30

但我想获得:

   val
0   40
1   10
2   20
3   30

(已丢弃的40个应该填满它留下的空白区域)

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

你在np.roll之后,这将滚动元素传递结束并沿着轴将它们包回到开头:

In [121]:

np.roll(df,1)
Out[121]:
array([[40],
       [10],
       [20],
       [30]], dtype=int64)

In [123]:

df['val'] = np.roll(df, 1)
df
Out[123]:
   val
0   40
1   10
2   20
3   30