ここではPandasにおけるDataFrameの次元を探索する方法について解説しています。
基本的な型
DataFrame.shape
「shape」を用いることで次元を容易に知ることが可能です。
使用例
import pandas as pd
f = pd.DataFrame([
[0,1,2],
[3,4,5]
])
print(f.shape)
#(2, 3)
上記のプログラムにおける結果は「(2, 3)」です。DataFrameで指定した次元にマッチしていることが確認できます。
PandasのDataFrame
オブジェクトにおけるshape
属性は、DataFrameの次元を表すタプルを返します。このタプルは、(行数, 列数)の形式で構成されています。以下に使用例と応用例を示します。
使用例1: 基本的なshapeの使用
import pandas as pd
# サンプルデータフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# DataFrameのshapeを取得
print(df.shape)
解説:
このコードは、3行3列のDataFrameを作成し、そのshape
を出力します。結果は(3, 3)
となります。
使用例2: 条件に基づくデータのフィルタリング後のshape
import pandas as pd
# サンプルデータフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [5, 4, 3, 2, 1]
})
# 条件にマッチする行のみをフィルタリング
filtered_df = df[df['A'] > 2]
# フィルタリング後のDataFrameのshapeを取得
print(filtered_df.shape)
解説:
このコードは、列A
の値が2より大きい行のみをフィルタリングし、その結果のDataFrameのshape
を出力します。結果は(3, 2)
となります。
使用例3: 列を追加した後のshape
import pandas as pd
# サンプルデータフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6]
})
# 新しい列を追加
df['C'] = [7, 8, 9]
# 列を追加した後のDataFrameのshapeを取得
print(df.shape)
解説:
このコードは、新しい列C
をDataFrameに追加し、そのshape
を出力します。結果は(3, 3)
となります。
応用例1: データのロード時のshape確認
import pandas as pd
# CSVファイルからデータをロード
df = pd.read_csv('sample_data.csv')
# ロードしたデータのshapeを確認
print(df.shape)
解説:
データをロードした直後にshape
を確認することで、データの大きさや構造を把握することができます。
応用例2: データの前処理後のshape確認
import pandas as pd
# サンプルデータフレームの作成
df = pd.DataFrame({
'A': [1, None, 3],
'B': [4, 5, None]
})
# 欠損値を含む行を削除
df.dropna(inplace=True)
# 前処理後のDataFrameのshapeを確認
print(df.shape)
解説:
欠損値を削除したり、特定の処理を行った後にshape
を確認することで、データがどのように変化したかを把握することができます。
応用例3: データの分割後のshape確認
import pandas as pd
# サンプルデータフレームの作成
df = pd.DataFrame({
'A': range(10),
'B': range(10, 20)
})
# データを2つに分割
df1 = df[:5]
df2 = df[5:]
# 分割後の各DataFrameのshapeを確認
print("Shape of df1:", df1.shape)
print("Shape of df2:", df2.shape)
解説:
データを分割した後に各部分のshape
を確認することで、分割が意図した通りに行われたかを確認することができます。この例では、データを上半分と下半分に分割し、それぞれのshape
を出力しています。