【Pandas】条件を指定してデータや各種情報を取得

Python用データ分析モジュール「Pandas」でデータフレームのラベルを取得する方法をソースコード付きで解説します。

データフレームのラベル

Pandasでは、DataFrameObj.columnsを用いることで、データフレームのラベルを取り出すことができます。 「名前, 身長]」が各列のラベルです。

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

# データフレームの初期化
df = pd.DataFrame({
    '名前' : ['西住みほ', '秋山優花里', '武部沙織'],
    '身長' : [158, 157, 157]},
    index = ['車長', '装填手', '通信手']
)

# 表示
print(df.columns)
# Index([名前, 身長], dtype=object)

データフレームのデータ型

Pandasでは、DataFrame.typesを用いることで、データフレームのデータ型を取得できます。

サンプルプログラムのソースコードは下記の通りです。


サンプルプログラムの実行結果は下記の通りです。

名前 役割 身長 0 西住みほ 車長 158 1 秋山優花里 装填手 157 2 武部沙織 通信手 157 名前 object 役割 object 身長 int64 dtype: object
【Pandas】データフレームのデータ型を取得
この記事では、Python用データ分析モジュール「Pandas」でデータフレームにのデータ型(タイプ)を取得する方法をソースコード付きで解説します。

データフレームの基本統計量

Pandasでは、describeメソッドを用いることで、データフレームから以下の基本統計量を一括で求めることができます。 【基本統計量】 count・・・件数 mean・・・平均値 std・・・標準偏差 min・・・最小値 25%・・・第一四分位数 50%・・・中央値 75%・・・第三四分位数 max・・・最大値

サンプルプログラムのソースコードは下記の通りです。


サンプルプログラムの実行結果は下記の通りです。

身長 count 3.000000 mean 157.333333 std 0.577350 min 157.000000 25% 157.000000 50% 157.000000 75% 157.500000 max 158.000000

非常に便利な機能です。

【Pandas】データフレームの基本統計量
この記事では、Python用データ分析モジュール「Pandas」でデータフレームの基本統計量を計算・確認する方法をソースコード付きで解説します。

データフレームのラベル

Pandasでは、DataFrameObj.valuesを用いることで、データフレームの値を取り出すことができます。

サンプルプログラムのソースコードは下記の通りです。


サンプルプログラムの実行結果は下記の通りです。

[[西住みほ’ 158L] [‘秋山優花里’ 157L] [‘武部沙織’ 157L]]
【Pandas】データフレームの値取得
この記事では、Python用データ分析モジュール「Pandas」でデータフレームの値を取得する方法をソースコード付きで解説します。

ラベルの値を取得

PythonモジュールPandasでは、values属性で特定のラベル(カラム)の値を取得します。

【書式】 DataFrameObj.[ラベル名].values

返り値:全ての値

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

#-*- 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
    '''

    # ラベル「名前」の値を表示
    print(df['名前'].values) # ['西住みほ' '秋山優花里' '武部沙織']

if __name__ == "__main__":
    main()
【Pandas】データフレームからラベルの値を取得
この記事では、PythonモジュールPandasで、指定したラベル(カラム)にある全ての値を取り出す方法をソースコード付きで解説します。

ラベル・インデックスを指定して抽出

Pandasでは、locメソッドを用いることで、データフレームからラベル・インデックスを指定して抽出できます。

【書式】 DataFrameObj.loc[index, label]

【返り値】 抽出されたデータフレームオブジェクト

サンプルプログラムのソースコードは下記の通りです。 【ラベル・インデックスを1つずつ指定】


【ラベル・インデックスを範囲指定】


サンプルプログラムの実行結果は下記の通りです。

名前 身長 車長 西住みほ 158 装填手 秋山優花里 157
【Pandas】データフレームからラベル・インデックスを指定して抽出
この記事では、Python用データ分析モジュール「Pandas」でデータフレームからラベル・インデックスを指定して抽出する方法をソースコード付きで解説します。

データフレームから列抽出

PythonモジュールPandasでは、主に2つの方法で特定の列(カラム・ラベル)だけを取り出せます。

記述例
方法① column = DataFrameObj[カラム名]
方法② column = loc[:, カラム名]

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

# -*- 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
    '''

    # ラベル(列)を抽出
    df2 = df['名前']
    # df2 = df.loc[:, '名前']
    # 抽出したデータフレームを表示
    print(df2)
    '''
    車長      西住みほ
    装填手    秋山優花里
    通信手     武部沙織
    Name: 名前, dtype: object
    '''

if __name__ == "__main__":
    main()
【Pandas】データフレームから特定の列(ラベル)を抽出
この記事では、PythonモジュールPandasで、データフレームから特定の列(ラベル・カラム)を抽出する方法をソースコード付きで紹介します。

データフレームから特定範囲の行・列抽出

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

書式

df.loc[[ インデックス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 = ['車長', '装填手']
    # ラベル(列)を抽出
    df2 = df.loc[indexes, '名前']
    # 抽出したデータフレームを表示
    print(df2)
    '''
    車長      西住みほ
    装填手    秋山優花里
    Name: 名前, dtype: object
    '''

if __name__ == "__main__":
    main()
【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()
【Pandas】データフレームから特定範囲の行・列を番号で指定して抽出
この記事では、PythonモジュールPandasで、データフレームから特定範囲の行・列を番号で指定して抽出する方法をソースコード付きで紹介します。

関連ページ

【Pandas超入門】使い方の解説とサンプルコード集
Pythonモジュール「Pandas」でデータ分析する方法についてサンプルコード付きで入門者向けに解説します。
記事の監修者
西住技研

プログラミング言語「Python」を研究、仕事、趣味でデータ分析や作業自動化などに活用してきたノウハウを情報発信しています。
筆者の詳しいプロフィールやお問合せはこちらのページまで。
YoutubeX(旧Twitter)でも情報発信中です!

西住技研をフォローする
Pandas

コメント