【Pandas入門】DataFrameの1つ以上の列のデータ型を変更する方法(astype活用)
このチュートリアルでは、PandasのDataFrameにおいて、1つまたは複数の列のデータ型を別の型へ変換する方法を解説します。変換にはDataFrame.astype()メソッドを使用します。
Python、Pandas、NumPyで定義されている任意のデータ型をastype()に渡すことで、列の要素のデータ型を変更できます。また、列名とデータ型を対応させた辞書(dict)を渡せば、特定の列だけを選んで変換することも可能です。それでは、実際のコード例を見ていきましょう。
すべての列のデータ型を文字列(str)に変換する
まずは、DataFrame全体のすべての列を一括してstr型に変換する基本的な例です。
# pandasライブラリをインポート
import pandas as pd
# DataFrameを作成
data_frame = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Tutorialspoint', 'Mohit', 'Sharma'], 'Age': [25, 32, 21]})
# すべての列のデータ型をstrに変更
data_frame = data_frame.astype(str)
# dtypesメソッドでデータ型を確認
print(data_frame.dtypes)実行結果
上記のプログラムを実行すると、すべての列のデータ型がobject(文字列)に変換されていることが確認できます。
No object Name object Age object dtype: object
特定の列だけデータ型を変更する
次に、Age列のみをint型からstr型へ変更してみましょう。この場合は、列名と希望するデータ型を指定した辞書を作成し、それをastype()メソッドに渡します。
# pandasライブラリをインポート
import pandas as pd
# DataFrameを作成
data_frame = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Tutorialspoint', 'Mohit', 'Sharma'], 'Age': [25, 32, 21]})
# 列名とデータ型を指定した辞書を作成
data_types_dict = {'Age': str}
# 辞書をastypeメソッドに渡してAge列のみstr型に変更
data_frame = data_frame.astype(data_types_dict)
# dtypesメソッドでデータ型を確認
print(data_frame.dtypes)実行結果
出力を見ると、Age列だけがint64からobject(文字列)に変換され、他の列は元のデータ型のまま維持されていることがわかります。
No int64 Name object Age object dtype: object
まとめ
DataFrame.astype()メソッドを使えば、すべての列を一括で変換することも、辞書を利用して特定の列だけを変換することもできます。データ前処理の際によく使うテクニックなので、ぜひマスターしておきましょう。
なお、数値への変換にはpd.to_numeric()、日付への変換にはpd.to_datetime()といった専用関数も用意されています。用途に応じて使い分けるとより効率的です。
このチュートリアルについて不明な点やつまずいた箇所があれば、コメント欄でお気軽にお知らせください。
-
Python・Pandas DataFrameで散布図を描画する方法
散布図(Scatter Plot)は、2つの変数の関係を視覚的に把握するための代表的なデータ可視化手法です。Pandasでは plot.scatter() メソッドを使うことで、DataFrameのデータから簡単に散布図を作成できます。この記事では、チームごとのランキングポイントデータを例に、Pandas DataFrameから散布図を描画する手順を解説します。必要なライブラリのインポートまず、必要なライブラリをインポートします。データ操作には pandas、グラフの表示には matplotlib を使用します。import pandas as pd import matplotlib.pyp
-
Python PandasでDataFrameの複数のデータ列をプロットする方法
PythonのPandasライブラリを使えば、DataFrameに含まれる複数のデータ列を簡単に可視化できます。本記事では、plot()メソッドを使用し、kindパラメータをbarに設定することで、複数の列を1つの棒グラフとして描画する方法を解説します。必要なライブラリのインポートまず、PandasとMatplotlibという2つの必須ライブラリをインポートします。Pandasはデータ操作を、Matplotlibはグラフの表示を担当します。import pandas as pd import matplotlib.pyplot as mpサンプルデータの準備ここでは、各チームのランキングポイン