PythonのPandasの転置について

Python,イメージ

AI実装検定のご案内

Pandasの転置(transpose)について詳しく解説します。

転置とは、行と列を入れ替える操作のことです。

PandasではDataFrameSeriesに対して簡単に転置を行うことができます。

目次

基本的な転置方法

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の転置についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次