はじめに
pandasのDataFrameでは、特定の行や列のデータを取得する方法としてloc属性とiloc属性が提供されています。これらの属性を使うことで、ラベル(インデックス名やカラム名)や位置(行番号や列番号)を指定してデータを柔軟に選択することができます。本記事では、locとilocの使い方と違いについて、具体的な例を交えて解説します。
解説
モジュールのインポート
DataFrameの生成
明示的なインデックスによる選択
インデクスが文字列の場合、カラム名によるデータの選択が可能となってます。
ファンシーインデックスによる選択
DataFrameに文字列のリストを適用することで、そのカラム名に該当する部分のデータを選択することができます。
locの使い方
DataFrame.locとすることで、インデックスまたはカラム名だけでデータを選択することになります。locでスライスした場合、pythonの一般的なスライスと異なり、終点のデータも含まれます。
ilocの使い方
DataFrame.ilocを使用すると、NumPy配列と同様のスライス操作が可能になります。また、ファンシーインデックスによる選択も行えます。
まとめ
本記事では、pandasのDataFrameにおけるデータ選択方法としてlocとilocの使い方を解説しました。locはラベルベースでインデックス名やカラム名を使って選択し、ilocは位置ベースで整数のインデックスを使用します。これらの選択メソッドをマスターすることで、大規模なデータセットからも効率的に必要なデータを抽出できるようになります。
参考
pandas.DataFrame.loc — pandas 2.3.2 documentation
pandas.DataFrame.iloc — pandas 2.3.2 documentation
コメント