pandasで行・列を指定して操作!データフレームの基本と実践技術
はじめに
pandasはPythonでデータ分析をするためのライブラリであり、特に表形式のデータを扱う際に優れた機能を持っています。本記事では、pandasを使ってデータフレームの行・列を指定する方法について解説します。
行・列の指定が必要になる理由
データフレームには、膨大な量のデータが含まれている場合があります。そのため、必要な情報を取り出す際には、行や列を指定する必要があります。行・列を指定することで、必要なデータだけを取り出し、分析や可視化に活用することができます。
データフレーム操作の基本
データフレームを扱う際には、以下のような基本的な操作が必要になります。
- データの読み込み・保存方法
- 基本的なデータ操作方法
- データフレームの構造の確認方法
この記事の目的
本記事では、pandasを使ってデータフレームの行・列を指定する方法について解説します。具体的には、特定の行を指定する方法、特定の列を指定する方法、条件に基づいて行・列を指定する方法、複数の行・列をまとめて指定する方法について説明します。
こんな人におすすめ
- データフレームの行・列を指定する方法を知りたい人
- pandasを使ってデータ分析を行いたい人
- Pythonを使ってデータ分析を行いたい人
使用する主なライブラリ
本記事では、以下のライブラリを使用します。
- pandas
Pandasの使い方
データの読み込み・保存方法
pandasを使って、CSVファイルを読み込む方法は以下の通りです。
import pandas as pd df = pd.read_csv("sample.csv")
また、データをCSVファイルとして保存する方法は以下のようになります。
df.to_csv("output.csv", index=False)
基本的なデータ操作方法
pandasを使って、データフレームの基本的な操作方法を紹介します。
-
- データフレームの最初のn行を取得する場合
df.head(n)
-
- データフレームの最後のn行を取得する場合
df.tail(n)
-
- データフレームの行数・列数を取得する場合
df.shape
-
- データフレームの列名を取得する場合
df.columns
-
- データフレームの列を取得する場合
df["列名"]
-
- データフレームの複数列を取得する場合
df[["列名1", "列名2"]]
-
- データフレームの行と列を同時に指定する場合
df.loc[行名, 列名]
-
- データフレームの行と列を同時に番号で指定する場合
df.iloc[行番号, 列番号]
-
- データフレームの列を追加する場合
df["新しい列名"] = 追加する列
-
- データフレームの列を削除する場合
df.drop("削除する列名", axis=1, inplace=True)
-
- データフレームの欠損値を削除する場合
df.dropna(inplace=True)
データフレームの構造の確認方法
pandasを使って、データフレームの構造を確認する方法を紹介します。
-
- データフレームの情報を表示する場合
df.info()
-
- データフレームの統計情報を表示する場合
df.describe()
Pandasでの行・列の指定方法
特定の行を指定する方法(iloc, locメソッド)
特定の行を指定するには、ilocメソッドまたはlocメソッドを使用します。
ilocメソッドを使用する場合、行番号を指定します。
# 行名が"row1"の行を取得する print(df.loc["row1"]) # 行名が"row2"から"row4"の行を取得する print(df.loc["row2":"row4"])
特定の列を指定する方法(列名指定)
特定の列を指定するには、列名を指定します。
# "col2"列を取得する print(df["col2"]) # "col1"列と"col3"列を取得する print(df[["col1", "col3"]])
条件に基づいて行・列を指定する方法
条件に基づいて行・列を指定するには、以下のようにします。
# "col1"列が3以上の行を取得する print(df[df["col1"] >= 3]) # "col1"列が3以上かつ"col2"列が5未満の行を取得する print(df[(df["col1"] >= 3) & (df["col2"] < 5)]) # "col1"列が3以上の行の"col2"列を取得する print(df.loc[df["col1"] >= 3, "col2"])
複数の行・列をまとめて指定する方法
複数の行・列をまとめて指定するには、以下のようにします。
# 行と列をまとめて指定する print(df.loc[["row1", "row3"], ["col1", "col3"]]) # 行を範囲で指定し、列を列名で指定する print(df.loc["row2":"row4", ["col1", "col3"]])
まとめ
本記事では、pandasを使ってデータフレームの行・列を指定する方法について解説しました。データフレームの基本的な操作方法や構造の確認方法も紹介しました。pandasの使い方をマスターして、データ分析を効率的に行いましょう!