バイオインフォマティクスでは、遺伝子発現データや配列データなど、大量のデータを扱うことが日常的です。Pythonの pandas ライブラリを活用すれば、これらのデータを効率的に処理・解析できます。
本記事では、pandasの 「データの表示方法」 について、基本から応用まで詳しく解説します。データの可視化や分析をスムーズに進めるために、適切な表示方法を身につけましょう。
1. pandasのデータ構造と表示方法の基本
pandasには、主に Series(1次元データ) と DataFrame(2次元データ) という2つのデータ構造があります。
1.1 Seriesの表示
Seriesは リストのようなデータ構造 で、インデックスと値の組み合わせで構成されます。
import pandas as pd
data = pd.Series([3.2, 5.7, 8.1, 2.4], index=["Gene1", "Gene2", "Gene3", "Gene4"])
print(data)
出力
Gene1 3.2
Gene2 5.7
Gene3 8.1
Gene4 2.4
dtype: float64
遺伝子ごとのスコアや発現値を格納するのに便利です。
1.2 DataFrameの表示
DataFrameは 表形式のデータ構造 で、複数の列を持つことができます。
df = pd.DataFrame({
"Gene": ["BRCA1", "TP53", "EGFR", "MYC"],
"Expression1": [2.5, 8.1, 5.3, 6.2],
"Expression2": [1.2, 7.9, 4.8, 5.6]
})
print(df)
出力
Gene Expression1 Expression2
0 BRCA1 2.5 1.2
1 TP53 8.1 7.9
2 EGFR 5.3 4.8
3 MYC 6.2 5.6
このように、遺伝子名と発現値をまとめて表示できます。
2. データの基本的な表示方法
pandasでは、データの表示方法を簡単にカスタマイズできます。
2.1 先頭・末尾の行を表示
データが大きい場合、すべてを表示すると見づらくなるため、先頭や末尾の一部を表示できます。
print(df.head(2)) # 最初の2行を表示
出力
Gene Expression1 Expression2
0 BRCA1 2.5 1.2
1 TP53 8.1 7.9
print(df.tail(2)) # 最後の2行を表示
出力
Gene Expression1 Expression2
2 EGFR 5.3 4.8
3 MYC 6.2 5.6
この方法を使えば、大規模データの一部だけ確認できます。
2.2 指定した列のみ表示
特定の列だけを表示する場合:
print(df["Gene"]) # "Gene"列のみ表示
出力
0 BRCA1
1 TP53
2 EGFR
3 MYC
Name: Gene, dtype: object
複数の列を選択することもできます。
print(df[["Gene", "Expression1"]])
出力
Gene Expression1
0 BRCA1 2.5
1 TP53 8.1
2 EGFR 5.3
3 MYC 6.2
このように、必要な情報だけ抜き出すことができます。
2.3 データのサイズを確認
データの大きさを確認するには、shape
属性を使います。
print(df.shape)
出力
(4, 3) # 4行×3列のデータ
3. 応用的な表示方法
次に、より高度なデータ表示の方法を紹介します。
3.1 データの統計情報を表示
数値データの基本的な統計情報を確認するには、describe()
を使用します。
print(df.describe())
出力
Expression1 Expression2
count 4.000000 4.000000
mean 5.525000 4.875000
std 2.488106 3.005418
min 2.500000 1.200000
25% 4.625000 4.200000
50% 5.750000 4.700000
75% 6.650000 7.150000
max 8.100000 7.900000
データの 平均値・標準偏差・最大値・最小値 などを一目で確認できます。
3.2 indexを使ったデータ表示
データの行を指定して表示することもできます。
df.set_index("Gene", inplace=True) # Geneをindexに設定
print(df.loc["TP53"])
出力
Expression1 8.1
Expression2 7.9
Name: TP53, dtype: float64
このように、遺伝子名をindexに設定することで、より直感的にデータを取り出せます。
3.3 条件を指定してデータを表示
発現値が 5以上の遺伝子 だけ表示する例:
filtered_df = df[df["Expression1"] > 5]
print(filtered_df)
出力
Expression1 Expression2
Gene
TP53 8.1 7.9
EGFR 5.3 4.8
MYC 6.2 5.6
特定の条件に合うデータを抽出する際に便利です。
4. まとめ
pandasのデータ表示方法を理解することで、バイオインフォマティクスのデータ解析をスムーズに進められます。
基本の表示方法
print(df)
: 全データを表示df.head(n)
: 先頭n行を表示df.tail(n)
: 末尾n行を表示df[["列名1", "列名2"]]
: 特定の列のみ表示df.shape
: データのサイズを確認
応用の表示方法
df.describe()
: 統計情報を表示df.set_index("列名")
: indexを指定して検索しやすくするdf[df["列名"] > 値]
: 条件に合うデータを抽出
これらを活用すれば、大規模なバイオデータを効率的に解析できます!!pandasを使いこなし、より快適なデータ解析を実現しましょう〜!