Python・pandasで列のデータ型を取得する方法|info()メソッドの使い方
pandasのDataFrameで各列のデータ型(dtype)を確認したい場合は、info()メソッドを使用します。このメソッドを呼び出すだけで、列名・非null件数・データ型・メモリ使用量といった概要情報を一括して取得できます。
まず、必要なライブラリをインポートしましょう。
import pandas as pd
次に、文字列型と整数型という異なるデータ型を持つ2つの列からなるDataFrameを作成します。
dataFrame = pd.DataFrame(
{
"Student": ['Jack', 'Robin', 'Ted', 'Marc', 'Scarlett', 'Kat', 'John'],
"Roll Number": [5, 10, 3, 8, 2, 9, 6]
}
)
データ型を含むDataFrame全体の情報を取得するには、次のように記述します。
dataFrame.info()
サンプルコード(完全版)
以下に、ここまでの内容をまとめた完全なコードを示します。
import pandas as pd
# DataFrameを作成
dataFrame = pd.DataFrame(
{
"Student": ['Jack', 'Robin', 'Ted', 'Marc', 'Scarlett', 'Kat', 'John'],
"Roll Number": [5, 10, 3, 8, 2, 9, 6]
}
)
print("DataFrame ...\n", dataFrame)
print("\nDataFrameの情報と各列のデータ型:\n")
# データ型の情報を取得
print(dataFrame.info())
実行結果
上記のコードを実行すると、次のような出力が得られます。
DataFrame ... Roll Number Student 0 5 Jack 1 10 Robin 2 3 Ted 3 8 Marc 4 2 Scarlett 5 9 Kat 6 6 John DataFrameの情報と各列のデータ型: <class 'pandas.core.frame.DataFrame'> RangeIndex: 7 entries, 0 to 6 Data columns (total 2 columns): Roll Number 7 non-null int64 Student 7 non-null object dtypes: int64(1), object(1) memory usage: 184.0+ bytes None
出力結果の読み方
info()メソッドの出力には、主に以下の情報が含まれています。
- RangeIndex:インデックスの範囲(この例では0〜6の計7件)
- Data columns:各列の名前・非null件数・データ型
- dtypes:データ型ごとの列数の集計(int64が1列、objectが1列)
- memory usage:DataFrameが使用しているメモリ量
なお、データ型だけを手軽に確認したい場合は、dataFrame.dtypesを使う方法もあります。こちらは各列のデータ型のみを簡潔に出力してくれるため、状況に応じて使い分けると便利です。
-
Python Pandas – 列の合計値に基づいてDataFrameをフィルタリングする方法
列の合計値に基づいてDataFrameをフィルタリングするには、loc()メソッドを使用します。この記事では、各学生の点数を合計し、合計点が400点(80%)を超える学生の列のみを抽出する例を紹介します。 DataFrameの作成 まず、学生の成績データを含むDataFrameを作成します。ここでは3人の学生、つまり3つの列の点数データを用意します。 import pandas as pd dataFrame = pd.DataFrame({ Jacob_Marks: [95, 90, 75, 85, 88], Ted_Marks: [60, 50, 65, 85, 70],
-
PythonでDataFrameのインデックスと列を転置(入れ替え)する3つの方法
はじめにpandasのDataFrameでは、行と列を入れ替える「転置(transpose)」操作がよく使われます。本記事では、特定のDataFrameのインデックスと列を転置するための3つの方法を、具体的なコード例とともにわかりやすく解説します。たとえば、次のような元のDataFrameがあるとします。import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print(元のDataFrame:\n, df)出力結果:元のDataFrame: 0 1 2 0 1 2 3 1 4 5 6このDataFrame