我有一个有两列的DataFrame,我希望将第二列堆叠在第一列下面,第一列放在第二列下面.
pd.DataFrame({'A':[1,2,3], 'B': [4,5,6]})
A B
0 1 4
1 2 5
2 3 6
Run Code Online (Sandbox Code Playgroud)
期望的输出:
A B
0 1 4
1 2 5
2 3 6
3 4 1
4 5 2
5 6 3
Run Code Online (Sandbox Code Playgroud)
到目前为止,我尝试过:
pd.concat([df, df[['B','A']].rename(columns={'A':'B', 'B':'A'})])
A B
0 1 4
1 2 5
2 3 6
3 4 1
4 5 2
5 6 3
Run Code Online (Sandbox Code Playgroud)
这是最干净的方式吗?
如果你问我,康卡特会更好.但如果你有100列重命名是一种痛苦.作为一种通用方法,这里有一个numpy flip和vstackie
v = df.values
pd.DataFrame(pd.np.vstack((v, pd.np.fliplr(v))), columns=df.columns)
A B
0 1 4
1 2 5
2 3 6
3 4 1
4 5 2
5 6 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |