読者の今回は、Pythonで重要な4つのPandas変換関数に焦点を当てます。
では、さっそく始めましょう
4つのPandas変換関数
このトピックでは、例として「自転車レンタル台数予測」データセットを使用します。
データセットはこちらで入手できます。
この記事もチェック:Pandasのmelt()とpivot()関数を使ってデータの整形をする方法
1. Pandasのastype()関数
Pandas モジュールで最もよく使われる Pandas 変換関数が astype()関数です。
astype()関数を使うと、変数のデータ型を簡単に別の型に変換することができます。
そのため、データ変数間の相互変換が容易になります。
例えば、以下の様になります。
この例では、最初に dtypes オブジェクトを使ってデータセットの変数のデータ型を調べます。
BIKE.dtypes |
変数のデータ型
instant int64dteday object
season int64yr int64mnth int64holiday int64weekday int64workingday int64weathersit int64temp float64atemp float64hum float64windspeed float64casual int64registered int64cnt int64dtype: object
|
さらに、astype()関数を用いて変数 season のデータ型を integer から category に変更します。
整数からカテゴリへの変換
BIKE.season = BIKE.season.astype("category")
BIKE.dtypes |
結果は以下の通りです。
instant int64dteday object
season categoryyr int64mnth int64holiday int64weekday int64workingday int64weathersit int64temp float64atemp float64hum float64windspeed float64casual int64registered int64cnt 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プログラミングに関連するこのような記事のために、私たちと一緒にご期待ください。