行を移動するmove_row
関数を作ってみました。うまく動作するようです。
参考:Is it possible to insert a row at an arbitrary position in a dataframe using pandas?
Python
1import pandas as pd
2
3# src_idx, dst_idx : 移動元、先のインデックス
4def move_row(df, src_idx, dst_idx):
5 line = df.loc[src_idx].copy().to_frame()
6 df = df.drop(src_idx, axis=0)
7 df = pd.concat([df.iloc[:dst_idx], line.T, df.iloc[dst_idx:]],axis=0).reset_index(drop=True)
8 return df
9
10df = pd.DataFrame({'data':['data1','data2','data3','data4'],'num':[1,2,3,4]})
11df = move_row(df, 3, 1)
12print(df)
13"""
14 data num
150 data1 1
161 data4 4
172 data2 2
183 data3 3
19"""
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/05/18 11:26