Python pandas:表形式のデータ構造「データフレーム」の使い方

スポンサーリンク

バイオインフォマティクスのデータ解析では、膨大な実験データを効率的に処理することが求められます。Pythonのpandasライブラリは、こうしたデータ解析に非常に便利なツールの一つです。その中でも、**データフレーム(DataFrame)**は、pandasを活用する上で最も重要な概念といえます。

この記事では、データフレームとは何か、どのように作成し、操作するのかについて詳しく解説します。バイオインフォマティクスの視点から、データフレームの活用方法も紹介するので、ぜひ参考にしてください!


データフレームとは?

データフレームの基本

pandasのデータフレーム(DataFrame)は、表形式のデータ構造です。エクセルの表やデータベースのテーブルをイメージすると分かりやすいでしょう。各行と列を持ち、行方向のインデックス(index)と列方向のラベル(columns)を持ちます。

データフレームは、次のような特徴を持っています。

  • 行と列の両方を持つ二次元データ
  • 異なるデータ型(文字列、数値、日付など)を含むことが可能
  • 行と列のラベルを持ち、柔軟なデータ操作が可能
  • データのフィルタリング、ソート、統計処理が簡単

データフレームの作成

① リストや辞書から作成

Pythonのリストや辞書を使って、簡単にデータフレームを作成できます。

import pandas as pd

# 辞書を使ってデータフレームを作成
data = {
    "Sample_ID": ["S1", "S2", "S3"],
    "Gene_Expression": [2.3, 3.8, 1.2],
    "Condition": ["Control", "Treated", "Control"]
}

df = pd.DataFrame(data)

# データフレームを表示
print(df)

出力:

  Sample_ID  Gene_Expression Condition
0       S1              2.3   Control
1       S2              3.8   Treated
2       S3              1.2   Control

このように、辞書を使うとデータフレームを簡単に作成できます。


② CSVファイルから読み込む

実際のバイオインフォマティクスのデータは、CSV(カンマ区切りファイル)やExcel形式で保存されることが多いです。pandasを使えば、これらのファイルも簡単にデータフレームとして読み込めます。

df = pd.read_csv("gene_expression_data.csv")  # CSVファイルを読み込む
print(df.head())  # 最初の5行を表示

ポイント:

  • pd.read_csv("ファイル名") でCSVファイルをデータフレームに変換
  • df.head() で先頭5行を表示

データフレームの基本操作

① データの確認

データフレームを扱う際には、まずデータの内容を確認することが重要です。

print(df.shape)  # データの行数と列数を取得
print(df.columns)  # 列名を取得
print(df.info())  # データの詳細情報を表示
print(df.describe())  # 数値データの統計情報を表示

これらを実行すると、データのサイズや型、統計情報を簡単に確認できます。


② 特定の列・行の抽出

特定の列を取得

gene_exp = df["Gene_Expression"]  # 特定の列を取得
print(gene_exp)

特定の行を取得

print(df.iloc[1])  # 2行目のデータ(0始まり)

条件でデータをフィルタリング

例えば、「Gene_Expressionが2.0以上のデータのみ抽出」したい場合は、次のように記述します。

filtered_df = df[df["Gene_Expression"] >= 2.0]
print(filtered_df)

③ データの追加・削除

列を追加

df["New_Column"] = [1, 2, 3]  # 新しい列を追加
print(df)

行を削除

df = df.drop(1)  # 2行目を削除
print(df)

列を削除

df = df.drop("New_Column", axis=1)  # 列を削除
print(df)

バイオインフォマティクスでの活用例

pandasのデータフレームは、バイオインフォマティクスのさまざまな場面で活用できます。例えば:

① 遺伝子発現データの解析

マイクロアレイやRNA-seqのデータをデータフレームとして扱い、遺伝子発現の分布を解析できます。

import matplotlib.pyplot as plt

df["Gene_Expression"].hist(bins=30)  # ヒストグラムを作成
plt.xlabel("Gene Expression Level")
plt.ylabel("Frequency")
plt.title("Gene Expression Distribution")
plt.show()

② シーケンスデータの整理

DNAやRNAの塩基配列データをデータフレームで管理し、特定の遺伝子に関連する配列を抽出することも可能です。

df_filtered = df[df["Gene"] == "BRCA1"]  # BRCA1遺伝子のデータを抽出
print(df_filtered)

まとめ

pandasのデータフレームは、バイオインフォマティクスにおいてデータを効率的に処理・解析するための強力なツールです。本記事では、以下のポイントを解説しました。

データフレームとは?
データの作成方法(辞書・CSVファイル)
データの基本操作(確認・抽出・追加・削除)
バイオインフォマティクスへの応用例(遺伝子発現解析・シーケンスデータ整理)

データ解析をスムーズに行うためにも、pandasのデータフレームを使いこなしましょう!

タイトルとURLをコピーしました