Python 熊猫将被丢弃的元素移动到开头
我找不到一个简单的方法来移动一个数据帧,但不是丢弃末尾的值,而是将它们移动到开头 e、 g 使用此代码:Python 熊猫将被丢弃的元素移动到开头,python,numpy,pandas,Python,Numpy,Pandas,我找不到一个简单的方法来移动一个数据帧,但不是丢弃末尾的值,而是将它们移动到开头 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应该填满它留下的空白 有什么想法吗?您想要的是,这将滚
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应该填满它留下的空白
有什么想法吗?您想要的是,这将滚动元素通过末端,并沿轴将其包装回起点:
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
之后,这将滚动元素通过端点,并沿轴将其包裹回起点:
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
真棒,这正是我想要的。在接受你的回答之前,我会等一会儿,看看是否还有其他方法。真棒的人,这正是我想要的。在接受你的回答之前,我会等一会儿,看看是否还有其他办法。