pandas.DataFrameの行と列を入れ替える(転置)

pandas.DataFrameの行と列を入れ替えたい(=転置させたい)場合は、属性Tかメソッドtranspose()を使います。 どちらの方法も元のオブジェクトは変更されず、行と列が入れ替わった(=転置された)新たなオブジェクトが返される。 例として、以下のデータを使用します。

import pandas as pd

df = pd.read_csv('data/src/sample_pandas_normal.csv').head(3)
print(df)
#       name  age state  point
# 0    Alice   24    NY     64
# 1      Bob   42    CA     92
# 2  Charlie   18    CA     70

サンプルのcsvファイルはコチラ。

sample_pandas_normal.csv

pandas.DataFrame.T
df_t = df.T
print(df_t)
#            0    1        2
# name   Alice  Bob  Charlie
# age       24   42       18
# state     NY   CA       CA
# point     64   92       70


pandas.DataFrame.transpose()
df_tr = df.transpose()
print(df_tr)
#            0    1        2
# name   Alice  Bob  Charlie
# age       24   42       18
# state     NY   CA       CA
# point     64   92       70

元のオブジェクト自体を変更したい場合

元のオブジェクト自体を変更するinplaceみたいな引数は用意されていません。新たなオブジェクトを生成したくない場合は元のオブジェクト自体に代入すればよい。

df = df.T
print(df)
#            0    1        2
# name   Alice  Bob  Charlie
# age       24   42       18
# state     NY   CA       CA
# point     64   92       70

シェア

関連カテゴリー

Python pandas

pandasで文字列にスライスを適用して任意の位置・長さの部分を抽出 Python, pandas, seabornでヒートマップを作成 pandasでExcelファイル(xlsx, xls)の読み込み(read_excel) pandasの行・列をランダムサンプリング(抽出)するsample Pythonでメソッドチェーンを改行して書く pandas.DataFrameを結合するmerge, join(列・インデックス基準) pandasでExcelファイル(xlsx, xls)の書き込み(to_excel) pandasで数値を丸める(四捨五入、偶数への丸め) pandas-datareaderで株価や人口のデータを取得 pandasでJSON文字列・ファイルを読み込み(read_json) pandas.DataFrame, Seriesの要素の値を置換するreplace pandas.DataFrame, Seriesをソートするsort_values, sort_index pandasで要素、行、列に関数を適用するmap, applymap, apply pandasで任意の位置の値を取得・変更するat, iat, loc, iloc pandasの文字列メソッドで置換や空白削除などの処理を行う

Last Updated: 6/26/2019, 10:34:03 PM