Nat*_*sha 2 shift dataframe python-3.x pandas
我想将数据框中的列移动到最后一列,我尝试使用shift. 但这并没有改变立场。
import pandas a pd
df = #input dataframe
df['x'] = df['x'].shift(axis=1)
Run Code Online (Sandbox Code Playgroud)
Error:
raise ValueError(f"No axis named {axis} for object type {cls.__name__}")
ValueError: No axis named 1 for object type Series
Run Code Online (Sandbox Code Playgroud)
还有其他选择吗?有人可以建议吗?
您可以pop再次插入:
df['X'] = df.pop('X')
Run Code Online (Sandbox Code Playgroud)
例子:
df = pd.DataFrame([list('axbc')], columns=['A', 'X', 'B', 'C'])
print(df)
A X B C
0 a x b c
df['X'] = df.pop('X')
print(df)
A B C X
0 a b c x
Run Code Online (Sandbox Code Playgroud)
另一个更通用的选项是重新索引,为此您可以删除最后从索引中移动的列并将它们添加到最后。优点是您可以一次处理多个列并选择更多列到不同的位置:
to_move = ['X']
new = df.columns.difference(to_move).to_list()+to_move
# ['A', 'B', 'C', 'X']
df = df[new]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2375 次 |
| 最近记录: |