Pandasの転置(transpose)について詳しく解説します。
転置とは、行と列を入れ替える操作のことです。
PandasではDataFrame
やSeries
に対して簡単に転置を行うことができます。
目次
基本的な転置方法
Pandasでは次の2つの方法で転置を行います。
import pandas as pd
# サンプルDataFrame
df = pd.DataFrame({
"A": [1, 2, 3],
"B": [4, 5, 6]
})
print("=== 元のDataFrame ===")
print(df)
# 方法1: T属性を使う
df_T = df.T
print("\n=== 転置 (df.T) ===")
print(df_T)
# 方法2: transpose()メソッドを使う
df_T2 = df.transpose()
print("\n=== 転置 (df.transpose()) ===")
print(df_T2)
どちらも結果は同じで、行と列が入れ替わった新しいDataFrameを返します。
出力例
元のDataFrame
A B
0 1 4
1 2 5
2 3 6
転置後(df.T
)
0 1 2
A 1 2 3
B 4 5 6
- 行番号(
0,1,2
)が列名に - 列ラベル(
A, B
)が行ラベルに
転置のよくある用途
- データの見やすさ改善
時系列データや多変量データを見やすくするために行・列を切り替える。 - 数値計算
行列演算や統計処理で、行と列の形を入れ替えたい場合。 - インデックスや列名を変換する前処理
特定の形式に揃える必要があるときに利用。
注意点
- 型の統一
転置後は列のデータ型が揃わない場合、すべてがobject
型になることがあります。df = pd.DataFrame({ "A": [1, 2, 3], "B": ["x", "y", "z"] }) print(df.T.dtypes) # → intとstrが混ざるため、転置後はobject型に
- 大規模データの効率
転置はメモリを消費する操作です。数百万行クラスの大きなDataFrameでは処理が重くなることがあります。 - Seriesの転置
1次元のSeries
に対して.T
を使っても意味がありません。転置しても同じSeries
が返ります。
応用例
行列計算での利用
import numpy as np
df = pd.DataFrame(np.arange(6).reshape(2,3))
print(df)
# 0 1 2
# 0 0 1 2
# 1 3 4 5
print(df.T)
# 0 1
# 0 0 3
# 1 1 4
# 2 2 5
このように数値配列をDataFrameで扱う際は、転置して行列の形を整えることがよくあります。
まとめ
- Pandasで転置は
.T
または.transpose()
で行える。 - 行と列が入れ替わる。
- 型の変化やメモリ消費には注意。
- データ可視化や整形、数値計算の前処理でよく使われる。
以上、PythonのPandasの転置についてでした。
最後までお読みいただき、ありがとうございました。