Python_データフレーム_カラム2行

ゆうき( @BASEBALLY15 )です^^

データフレームのカラムを2行にする方法はないですか・・・?

ありますよ^^
今回は,データフレームのカラムを2行にする方法をご紹介します.

よろしくお願いします・・・

カラムを2行にするって,どういうこと?

でデータフレームのカラムを2行にする

Pythonでデータフレームを扱うときによく使われるのが,

カラムとインデクスが1行のものだと思います.

それを,上の図のように2行にすることで,

それぞれのグループごとでカラムを作ることが出来ます.

それでは,コードを見ていきましょう⤵

データフレームのカラムを2行にする方法

ライブラリ

まずは,ライブラリを書きます.

import pandas as pd

from pandas import DataFrame, Series

import numpy as np

from numpy.random import randn

コード

データフレームを用意しよう!(下準備)

まずは,データフレームを用意します.

1列目と2列目は整数で,3列で4列目はランダムな数にします.

#Num1とNum2は整数,Num3とNum4はランダムな数
num = DataFrame({"Num1":[1,2,3,4,5,6,7,8,9], 
                 "Num2":[11,12,13,14,15,16,17,18,19], 
                "Num3":randn(9), 
                "Num4":randn(9)})
#実行
num
Num1Num2Num3Num4
0111-0.4769160.746063
1212-0.2442840.935809
23130.5839390.699109
34141.7716410.213191
4515-0.8752240.662729
56160.6512570.683118
6717-0.791732-1.105928
7818-2.1408880.012956
8919-0.4046392.672640

それでは,このデータフレームのカラムを2行に替えます⤵

データフレームのカラムを2行にしよう!(本題)

#カラムを2行にする
double_columns_num = pd.MultiIndex.from_arrays([["整数", " ", "ランダム", " "], 
                                          ["Num1", "Num2", "Num3", "Num4"]])


#カラムを変更する
num.columns = double_columns_num
#実行
num
整数ランダム
Num1Num2Num3Num4
0111-0.4769160.746063
1212-0.2442840.935809
23130.5839390.699109
34141.7716410.213191
4515-0.8752240.662729
56160.6512570.683118
6717-0.791732-1.105928
7818-2.1408880.012956
8919-0.4046392.672640

このコードを解説します.

ます,

pandasの『MultiIndex.from_arrays』を使うことで,カラムを2行にします.

そして,

[“整数”, ” “, “ランダム”, ” “]

で1行目のカラム名を指定して,

[“Num1”, “Num2”, “Num3”, “Num4”]

で2行目のカラム名を決めます.

そして,

num.columns = double_columns_num

で,データフレームのカラムを2行のカラムにします.

終わりに

今回は,データフレームのカラムを2行にする方法をご紹介しました.

この方法を使うことで,カラムをグループに分けることが出来るので,

ぜひ,使ってみてください^^

それでは・・・

Q &A

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA