読者の今回は、Pythonで重要な4つのPandas変換関数に焦点を当てます。
では、さっそく始めましょう
4つのPandas変換関数
このトピックでは、例として「自転車レンタル台数予測」データセットを使用します。
データセットはこちらで入手できます。
この記事もチェック:Pandasのmelt()とpivot()関数を使ってデータの整形をする方法
1. Pandasのastype()関数
Pandas モジュールで最もよく使われる Pandas 変換関数が astype()関数です。
astype()関数を使うと、変数のデータ型を簡単に別の型に変換することができます。
そのため、データ変数間の相互変換が容易になります。
例えば、以下の様になります。
この例では、最初に dtypes オブジェクトを使ってデータセットの変数のデータ型を調べます。
BIKE.dtypes |
変数のデータ型
instant int64 dteday object
season int64 yr int64 mnth int64 holiday int64 weekday int64 workingday int64 weathersit int64 temp float64 atemp float64 hum float64 windspeed float64 casual int64 registered int64 cnt int64 dtype: object
|
さらに、astype()関数を用いて変数 season のデータ型を integer から category に変更します。
整数からカテゴリへの変換
BIKE.season = BIKE.season.astype( "category" )
BIKE.dtypes |
結果は以下の通りです。
instant int64 dteday object
season category yr int64 mnth int64 holiday int64 weekday int64 workingday int64 weathersit int64 temp float64 atemp float64 hum float64 windspeed float64 casual int64 registered int64 cnt int64 |
2. Pandas isna() 関数
データ分析や前処理を行う場合、データを調査して意味のある情報を引き出すことが非常に重要です。
NULL 値の存在を確認することは、モデリングや変換の前の重要なステップであると思われます。
isna()関数を使えば、NULL値の有無を簡単にチェックすることができます。
これはブール関数で、カラムやデータセット内に NULL 値があることを検出すると TRUE を返します。
例えば、以下の様になります。
この例では、isna() 関数は false を返します。
これは、データセット内に欠損値や NULL 値がゼロであることを検出したからです。
BIKE.isna() |
結果は以下の通りです。
BIKE.notna() |
この記事もチェック:Pandasのdataframeでインデックスをカラム(列、行)に変換する方法
3. Python notna() 関数
Python notna()関数を使うと、NULLやNAと等価でない値を簡単に分離して探すことができます。
つまり、notna()関数は、非NULL値の存在を検出した場合、TRUEを返します。
例えば、以下の様になります。
以下の例では、notna()関数はデータセット全体からNULL値を検出しなかったので、TRUEを返します。
df = BIKE.copy()
print (df)
|
結果は以下の通りです。
4. Python dataframe.copy() 関数
データセットを操作する場合、変更を加えるための予備のコピーとして、元のデータのバックアップをとっておくことは非常に重要です。
これは、万が一操作がうまくいかなかった場合に、元の状態にロールバックするのにも役立ちます。
例えば、以下の様になります。
この例では、copy()関数を使ってBIKEオブジェクトで表されるデータセットのコピーを保持するデータフレーム’df’を作成しました。
を出力します。
この記事もチェック:PythonでPandasデータフレームの列の順序を変更する4つの方法
まとめ
ここまでで、Pythonの変換関数に関するこのトピックは終わりです。
もし何か疑問があれば、お気軽にコメントください。
Pythonプログラミングに関連するこのような記事のために、私たちと一緒にご期待ください。