pandasで行・列を指定して操作!データフレームの基本と実践技術

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の使い方をマスターして、データ分析を効率的に行いましょう!