Pandas ilocの基本

Pandasのilocは、データフレームから特定の行や列を選択するための非常に便利な機能です。ilocは”integer location”の略で、整数による位置指定を意味します。

以下に基本的な使用方法を示します。

import pandas as pd

# データフレームの作成
df = pd.DataFrame({
   'A': range(1, 6),
   'B': range(10, 60, 10),
   'C': range(100, 600, 100),
})

# ilocを使った行の選択
row = df.iloc[0]  # 最初の行を選択

このコードでは、df.iloc[0]を使用してデータフレームの最初の行を選択しています。ilocは0から始まるインデックスを使用するため、df.iloc[0]は最初の行を返します。

次に、複数の行を選択する方法を見てみましょう。これはilocにリストを渡すことで実現できます。

rows = df.iloc[[0, 2]]  # 最初と3番目の行を選択

このコードでは、df.iloc[[0, 2]]を使用してデータフレームの最初と3番目の行を選択しています。リスト[0, 2]は選択したい行のインデックスを指定しています。

以上がPandasのilocの基本的な使用方法です。次のセクションでは、これらの基本的な操作を応用した実用的な例を見ていきましょう。

複数行の選択方法

Pandasのilocを使って複数の行を選択する方法を見てみましょう。これは非常に簡単で、ilocに行のインデックスのリストを渡すだけです。

以下に具体的なコードを示します。

import pandas as pd

# データフレームの作成
df = pd.DataFrame({
   'A': range(1, 6),
   'B': range(10, 60, 10),
   'C': range(100, 600, 100),
})

# ilocを使った複数行の選択
rows = df.iloc[[0, 2, 4]]  # 最初、3番目、5番目の行を選択

このコードでは、df.iloc[[0, 2, 4]]を使用してデータフレームの最初、3番目、5番目の行を選択しています。リスト[0, 2, 4]は選択したい行のインデックスを指定しています。

また、連続した複数の行を選択する場合は、スライスを使用することもできます。

rows = df.iloc[1:4]  # 2番目から4番目までの行を選択

このコードでは、df.iloc[1:4]を使用してデータフレームの2番目から4番目までの行を選択しています。スライス1:4は選択したい行の範囲を指定しています。

以上がPandasのilocを使った複数行の選択方法です。次のセクションでは、これらの操作を応用した実用的な例を見ていきましょう。

実用的な例とその応用

それでは、Pandasのilocを使った実用的な例とその応用について見ていきましょう。

例えば、あるデータフレームから特定の条件を満たす行を抽出したいとします。この場合、ilocとブールインデックスを組み合わせることで実現できます。

以下に具体的なコードを示します。

import pandas as pd

# データフレームの作成
df = pd.DataFrame({
   'A': range(1, 6),
   'B': range(10, 60, 10),
   'C': range(100, 600, 100),
})

# 'A'列が3より大きい行を選択
rows = df.iloc[df['A'] > 3]

このコードでは、df['A'] > 3で’A’列が3より大きい行をTrueとするブールシリーズを作成し、それをilocに渡しています。これにより、’A’列が3より大きい行だけが選択されます。

また、ilocは列の選択にも使えます。行の選択と同様に、列のインデックスを指定することで特定の列を選択できます。

# 'A'列と'C'列を選択
columns = df.iloc[:, [0, 2]]

このコードでは、df.iloc[:, [0, 2]]を使用してデータフレームの’A’列と’C’列を選択しています。:は全ての行を意味し、[0, 2]は選択したい列のインデックスを指定しています。

以上がPandasのilocを使った実用的な例とその応用です。これらのテクニックを駆使することで、データ分析の幅が広がります。次のセクションでは、さらに応用的な例を見ていきましょう。

投稿者 kitagawa

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です