Pandasで「データ型(dtype)」を確認する方法はいくつかあり、用途によって使い分けることができます。
ここでは 基本的な確認方法 → 個別要素レベル → 詳細情報 の順で整理して詳しく解説します。
目次
DataFrame全体のデータ型を確認する方法
最も一般的なのは .dtypes
属性を使う方法です。
import pandas as pd
df = pd.DataFrame({
"id": [1, 2, 3],
"name": ["Alice", "Bob", "Charlie"],
"score": [85.5, 92.0, 88.0],
"passed": [True, True, False]
})
print(df.dtypes)
出力例
id int64
name object
score float64
passed bool
dtype: object
各カラムのデータ型がわかります。
object
は文字列や混合型を表す場合が多いです。
特定のカラムのデータ型を確認する
個別に見たい場合は、カラムを指定して .dtype
を確認します。
print(df["score"].dtype) # float64
print(df["name"].dtype) # object
要素単位で型を確認する
Pythonの組み込み関数 type()
を使うと、特定のセルの型を確認できます。
print(type(df["score"][0])) # <class 'numpy.float64'>
print(type(df["name"][0])) # <class 'str'>
Pandasの数値は多くの場合 numpy
の型(numpy.int64
, numpy.float64
など)になっています。
DataFrameの構造をまとめて確認する (info
)
.info()
を使うと、行数・列数・欠損値・データ型が一度に分かります。
df.info()
出力例
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 id 3 non-null int64
1 name 3 non-null object
2 score 3 non-null float64
3 passed 3 non-null bool
dtypes: bool(1), float64(1), int64(1), object(1)
memory usage: 211.0+ bytes
.dtypes
より詳細で、データの全体像を把握するのに便利です。
特殊なケースでのデータ型確認
文字列カラムを厳密に扱いたい場合
Pandas 1.0以降では string
dtype が導入されています。
object
ではなく string
に変換したい場合は
df["name"] = df["name"].astype("string")
print(df["name"].dtype) # string
datetime型
日時データの場合は datetime64[ns]
として表示されます。
もし文字列として読み込まれてしまったら、pd.to_datetime()
で変換可能です。
df["date"] = pd.to_datetime(["2024-01-01", "2024-05-20", "2024-08-10"])
print(df["date"].dtype) # datetime64[ns]
dtype確認のまとめ
- 全体を確認 →
df.dtypes
- カラム単位 →
df["col"].dtype
- 要素単位 →
type(df["col"][i])
- 詳細情報込み →
df.info()
補足ですが、マーケティングデータ(広告レポートやアクセス解析データなど)を扱う場合、日付やカテゴリ型(category
)をうまく指定するとメモリ効率や処理速度が向上します。
以上、Pandasのデータ型の確認方法についてでした。
最後までお読みいただき、ありがとうございました。