Pythonを使っていてこんな悩みはありませんか?
「Pandas DataFrameで特定のデータ型の列を抽出をしたい、、しかしやり方がわからない。」
そのお悩み解決します。
結論をお話しすると、Pandasのselect_dtypes( )メソッドを使用することで、特定のデータ型の列を抽出できます。
今回は「タイタニック予測問題」のデータを使って解説します。
「タイタニック予測問題」のtrainデータをdfとして読み込みます。dfは12個のカラムから構成され、891個のデータが格納されています。
以下dfとして解説します。
それでは解説していきます。
特定のデータ型の列を抽出する方法
まずはdfに含まれる列のデータ型を確認します。データ型はdf.dtypesで確認できます。
dfにはobject型(文字列)、int型、 float型の列があることが確認できます。
文字列を要素とする列のデータ型はobject型であることに注意してください。
df.dtypes
それぞれのデータ型の列を抽出する方法を解説していきます。
object型の列を抽出する場合
まずはobject型のデータを抽出する場合を解説します。
下記のように「include = object」とすることでobject型の列を抽出できます。
dfに含まれるobject型(文字列)の列が抽出できていることが確認できます。
df.select_dtypes(include = object)
int型の列を抽出する場合
次にint型の列を抽出する場合を解説します。
下記のように「include = int」とすることでint型の列を抽出できます。
dfに含まれるint型の列が抽出できていることが確認できます。
df.select_dtypes(include = int)
float型の列を抽出する場合
次にfloat型の列を抽出する場合を解説します。
下記のように「include = float」とすることでfloat型の列を抽出できます。
dfに含まれるfloat型の列が抽出できていることが確認できます。
df.select_dtypes(include = float)
int型とfloat型をまとめて抽出する場合
次にint型とfloat型をまとめて抽出する場合を解説します。
下記のように「include = ‘number’」とすることで、int型とfloat型をまとめて抽出できます。
dfに含まれるint型とfloat型をまとめて抽出できていることが確認できます。
df.select_dtypes(include = 'number')
今回の記事はここまでです。
今回の記事では、「特定のデータ型の列を抽出する方法(select_dtypes( )メソッド)」について解説しました。
pythonでデータ分析している際は様々なデータ型が含まれていることが多く、データ型で前処理方法が変わる場合も多いため、是非今回の記事でselect_dtypes( )メソッドの使い方をマスターしていただければと思います。
この記事が少しでも皆さんのお役に立てれば幸いです。
また下記記事で、pandasの解説記事をまとめていますので良ければご活用ください。
皆さんの勉強が少しでも進むことを願っています。