這是我的資料集:
-
COL_1 COL_2 COL_3 COL_4 COL_5 COL_8 COL_9 A col2 col3 col4 col5 B col2 col3 col4 col5 C col2 col3 col4 col5
我需要將成對的列(COL_2、COL_3,然后是 COL_4、COL_5)移動到 COL_8 和 COL_9 并復制第一列(COL_1)的內容:
-
COL_1 COL_8 COL_9 A col2 col3 B col2 col3 C col2 col3 A col4 col5 B col4 col5 C col4 col5
我怎樣才能使用 Python 做到這一點?我需要使用回圈還是有更簡單的方法?
uj5u.com熱心網友回復:
這是一個解決方案:
cols = df.drop('COL_1', axis=1).columns
new_df = pd.concat([pd.concat([df[c] for c in cols[i::2]]) for i in [0,1]], axis=1).assign(A=df['COL_1'])[['A', 0, 1]].set_axis(['COL_1','COL_8','COL_9'], axis=1).reset_index(drop=True)
輸出:
>>> new_df
COL_1 COL_8 COL_9
0 A col2 col3
1 B col2 col3
2 C col2 col3
3 A col4 col5
4 B col4 col5
5 C col4 col5
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/422946.html
標籤:
