【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」でデータ分析する方法についてサンプルコード付きで入門者向けに解説します。

コメント