pandas ilocで隣り合わない複数列を取得する方法
やりたいこと
pandas のDataFrameで、隣り合わせでない、飛んだ列を取得する
df = pd.DataFrame( data=[[10, 5, 3, 1],[2, 4, 5, 2], [1, 3, 4, 2],[1, 5, 3, 4], [7, 6, 5, 4]])
たとえばこのdataframeの場合で1列目と、3列目~4列目のデータを取り出したい
方法
ilocを使う場合、飛んだ列の選択ができない気がするので、 バラバラにとってきたあと横に結合する
df t1 = df.iloc[:,:1] t2 = df.iloc[:,3:] pd.concat([t1,t2], axis=1)
※axis=1 でindex番号をkeyにして紐付ける
できなかったこと
t = df[df.iloc[:,:1] + df.iloc[:,3:]] t