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