Pandas DataFrame DataFrame.transpose() 関数

Minahil Noor 2023年1月30日
  1. pandas.DataFrame.transpose() の構文
  2. コード例:DataFrame.transpose()
  3. コード例:DataFrame.transpose() を使用して DataFrame を同種のデータ型に転置する
  4. コード例:混合データ型で DataFrame を転置する DataFrame.transpose()
Pandas DataFrame DataFrame.transpose() 関数

Python Pandas DataFrame.transpose() 関数は、DataFrame の行を列に、列を行に変更します。言い換えれば、元の DataFrame を転置した新しい DataFrame を生成します。

pandas.DataFrame.transpose() の構文

DataFrame.transpose(*args, copy=False)

パラメータ

*args これらは NumPy との互換性を保つための追加のキーワード引数です。
copy これはブール値です。これは転置を取った後に DataFrame の値がコピーされるかどうかを決定します。デフォルトでは、値は False です。

戻り値

転置された DataFrame を返します。元の DataFrame の行は返された DataFrame の列となり、その逆も同様です。

コード例:DataFrame.transpose()

この関数は、次のいくつかのコードで実装します。

import pandas as pd

dataframe=pd.DataFrame({
                        'Attendance': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95},
                        'Name': 
                            {0: 'Olivia', 
                            1: 'John', 
                            2: 'Laura',
                            3: 'Ben',
                            4: 'Kevin'},
                        'Obtained Marks': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45}
                        })

print(dataframe)

DataFrame 例は以下の通りです。

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45

この関数のすべてのパラメータはオプションです。パラメータを渡さずにこの関数を実行すると、以下のような出力が得られます。

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.transpose()
print(dataframe1)

出力:

                     0     1      2    3      4
Attendance          60   100     80   78     95
Name            Olivia  John  Laura  Ben  Kevin
Obtained Marks      90    75     82   64     45

コード例:DataFrame.transpose() を使用して DataFrame を同種のデータ型に転置する

この関数の挙動は、均質なデータ型と混合データ型では異なります。ここでは一つずつ解析していきます。同種データ型の DataFrame があれば、元のデータ型と転置された Dataframe のデータ型は同じです。

均質なデータ型を持つ DataFrame は以下のようになります。

import pandas as pd

dataframe = pd.DataFrame(
    {"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)

print(dataframe)

DataFrame 例は以下の通りです。

    A   B
0   6  60
1  20  50
2  80   7
3  78  67
4  95  54
5  98  34

この DataFrame の転置を取得するには、

import pandas as pd

dataframe = pd.DataFrame(
    {"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)

dataframe1 = dataframe.transpose()
print(dataframe1)

出力:

    0   1   2   3   4
A   6  20  80  78  95
B  60  50   7  67  54

それでは、元の DataFrame と返された DataFrame のデータ型を解析してみましょう。

import pandas as pd

dataframe = pd.DataFrame(
    {"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)

dataframe1 = dataframe.transpose()

print(dataframe.dtypes)
print(dataframe1.dtypes)

出力:

A    int64
B    int64
dtype: object
0    int64
1    int64
2    int64
3    int64
4    int64
dtype: object

元のデータフレームと転置された DataFrame のデータ型は同じであることに注意してください。

コード例:混合データ型で DataFrame を転置する DataFrame.transpose()

混合型の DataFrame がある場合、元のデータフレームと転置された Dataframe のデータ型は異なります。転置された DataFrame はオブジェクトのデータ型を持ちます。データ型が混在する DataFrame は以下のようになります。

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

print(dataframe)

DataFrame 例は以下の通りです。

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45

この DataFrame の転置を取得するには、以下のようにします。

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.transpose()
print(dataframe1)

出力:

                     0     1      2    3      4
Attendance          60   100     80   78     95
Name            Olivia  John  Laura  Ben  Kevin
Obtained Marks      90    75     82   64     45

それでは、元の DataFrame と返された DataFrame のデータ型を解析してみましょう。

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.transpose()
print(dataframe.dtypes)
print(dataframe1.dtypes)

出力:

Attendance         int64
Name              object
Obtained Marks     int64
dtype: object
0    object
1    object
2    object
3    object
4    object
dtype: object

転置された DataFrame のデータ型は object データ型であることに注意してください。

関連記事 - Pandas DataFrame