Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas入門 – info()メソッドでDataFrameのデータ型と列情報を取得する方法

PythonのPandasライブラリでは、info()メソッドを使うことで、DataFrameの各列のデータ型(dtype)や非null値の数など、データセット全体の概要情報を簡単に確認できます。この記事では、実際のコード例と実行結果をもとに、その使い方をわかりやすく解説します。

info()メソッドとは

info()は、DataFrameの構造に関する以下の情報を一括で表示してくれる便利なメソッドです。

  • 行数(エントリ数)とインデックスの範囲
  • 各列の名前・非null値の数・データ型
  • 使用しているメモリ量

準備:Pandasのインポート

まず、必要なライブラリをエイリアス付きでインポートします。

import pandas as pd

DataFrameの作成

ここでは、「Car(車種)」「Place(地域)」「Units(台数)」の3つの列を持つサンプルDataFrameを作成します。

dataFrame = pd.DataFrame(
    {
        "Car": ['BMW', 'Audi', 'BMW', 'Lexus', 'Tesla', 'Lexus', 'Mustang'],
        "Place": ['Delhi', 'Bangalore', 'Hyderabad', 'Chandigarh', 'Pune', 'Mumbai', 'Jaipur'],
        "Units": [100, 150, 50, 110, 90, 120, 80]
    }
)

データ型と列情報の取得

データ型などの詳細情報を取得するには、以下のようにinfo()を呼び出すだけです。

dataFrame.info()

完全なコード例

以下に、DataFrameの表示、一意な値の取得、そしてinfo()によるデータ型情報の取得までを行う完全なコードを示します。

import pandas as pd

# DataFrameを作成
dataFrame = pd.DataFrame(
    {
        "Car": ['BMW', 'Audi', 'BMW', 'Lexus', 'Tesla', 'Lexus', 'Mustang'],
        "Place": ['Delhi', 'Bangalore', 'Hyderabad', 'Chandigarh', 'Pune', 'Mumbai', 'Jaipur'],
        "Units": [100, 150, 50, 110, 90, 120, 80]
    }
)

print("DataFrame ...\n", dataFrame)

# 列から一意な値を取得
print("\nUnique values from a column ...\n", dataFrame['Car'].unique())
print("\nCount unique values from a column ...\n", dataFrame['Car'].nunique())

# データ型情報を取得
print("\nGet the datatype info ...\n", dataFrame.info())

実行結果

上記のコードを実行すると、以下のような出力が得られます。

DataFrame ...
      Car       Place  Units
0     BMW       Delhi    100
1    Audi   Bangalore    150
2     BMW   Hyderabad     50
3   Lexus  Chandigarh    110
4   Tesla        Pune     90
5   Lexus      Mumbai    120
6 Mustang      Jaipur     80

Unique values from a column ...
['BMW' 'Audi' 'Lexus' 'Tesla' 'Mustang']

Count unique values from a column ...
5

Get the datatype info ...

RangeIndex: 7 entries, 0 to 6
Data columns (total 3 columns):
Car    7 non-null   object
Place  7 non-null   object
Units  7 non-null   int64
dtypes: int64(1), object(2)
memory usage: 240.0+ bytes
None

出力の読み方

info()の出力からは、以下のことが確認できます。

  • RangeIndex: 7 entries, 0 to 6 — 行数は7行で、インデックスは0〜6の範囲です。
  • Car / Place — 文字列データのため、データ型は object になっています。
  • Units — 整数データのため、データ型は int64 です。
  • 7 non-null — 各列とも欠損値(NaN)がなく、すべての行に値が存在します。
  • memory usage — このDataFrameが消費しているメモリ量を示しています。

まとめ

info()メソッドを使えば、DataFrameの各列のデータ型、非null値の数、メモリ使用量などを一目で把握できます。データ分析の前処理段階で必ず確認しておきたい基本操作なので、ぜひマスターしておきましょう。あわせて、列内の一意な値を取得するunique()、その個数をカウントするnunique()も覚えておくと便利です。

  1. 【Pandas入門】Pythonでデータフレームの数値列の平均値を取得する方法

    データ分析を行う際、特定の列の平均値や、数値を含むすべての列の平均値を取得したいケースはよくあります。そんなときに活躍するのが mean() 関数です。「平均(mean)」とは、データセット内のすべての値を合計し、その値の総数で割ることで求められる統計量です。Pandasではこの操作をわずか1行で実行できます。それでは、実際のコード例を見ていきましょう。コード例import pandas as pd my_data = {Name:pd.Series([Tom,Jane,Vin,Eve,Will]), Age:pd.Series([45, 67, 89, 12, 23]), value:pd.

  2. 【Python・Pandas】データフレームの特定の列の合計値を取得する方法

    データ分析をしていると、データフレーム(DataFrame)の中から特定の列だけの合計値を求めたい場面によく出会います。そんなときに便利なのが、Pandasのsum関数です。 合計を計算したい列をsum関数に渡すだけで、その列の合計値を簡単に取得できます。さらに、axis引数を指定すれば、列方向・行方向のどちらで集計するかも自由に制御可能です。 それでは、具体的なコード例を見ていきましょう。 サンプルコード import pandas as pd my_data = { Name: pd.Series([Tom, Jane, Vin, Eve, Will]), Age: p