我想在Pandas中移动一列DataFrame,但是我无法在不重写整个DF的情况下从文档中找到一种方法来做到这一点。有人知道怎么做吗?数据框:## 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 272##5 nan 291
3 回答
隔江千里
TA贡献1906条经验 获得超10个赞
In [18]: a
Out[18]:
x1 x2
0 0 5
1 1 6
2 2 7
3 3 8
4 4 9
In [19]: a.x2 = a.x2.shift(1)
In [20]: a
Out[20]:
x1 x2
0 0 NaN
1 1 5
2 2 6
3 3 7
4 4 8
至尊宝的传说
TA贡献1789条经验 获得超10个赞
您需要在此处使用df.shift
df.shift(i)将整个数据帧下移i个单位。
所以对于我= 1
输入:
x1 x2
0 206 214
1 226 234
2 245 253
3 265 272
4 283 291
输出:
x1 x2
0 Nan Nan
1 206 214
2 226 234
3 245 253
4 265 272
因此,运行此脚本以获取预期的输出
import pandas as pd
df = pd.DataFrame({'x1': ['206', '226', '245',' 265', '283'],
'x2': ['214', '234', '253', '272', '291']})
print(df)
df['x2'] = df['x2'].shift(1)
print(df)
添加回答
举报
0/150
提交
取消