【Pandas】データフレームから特定範囲の行・列を番号で指定して抽出

この記事では、PythonモジュールPandasで、データフレームから特定範囲の行・列を番号で指定して抽出する方法をソースコード付きで紹介します。

データフレームから要素番号で指定して行・列抽出

PythonモジュールPandasでは、ilocメソッドで特定の要素番号の行・列(インデックス・カラム)だけを取り出せます。

書式

df.iloc[[ インデックス番号1, インデックス番号2, ...],  [カラム番号1, カラム番号2, ...]]

返り値:指定した範囲内のデータフレーム

ソースコード

サンプルプログラムのソースコードです。

# -*- coding: utf-8 -*-
import pandas as pd

def main():
    # リスト生成
    name = ['西住みほ', '秋山優花里', '武部沙織']
    height = [158, 157, 157]
    position = ['車長', '装填手', '通信手']
    
    # リスト→データフレーム
    df = pd.DataFrame({'名前' : name, '身長' : height}, index = position)

    # データフレーム表示
    print(df)
    
    '''
            名前   身長
    車長    西住みほ  158
    装填手  秋山優花里  157
    通信手   武部沙織  157
    '''
    indexes = [0, 1]
    columns = [0]
    
    # ラベル(列)を抽出
    df2 = df.iloc[indexes, columns]
    # 抽出したデータフレームを表示
    print(df2)
    '''
              名前
    車長      西住みほ
    装填手    秋山優花里
    '''
    
if __name__ == "__main__":
    main()
関連記事
1 【Python】株価分析・予測
2 【Pandas入門】データ分析のサンプル集
3 Python入門 サンプル集
関連記事