Pandas DataFrame のすべての列を表示する

Manav Narula 2023年1月30日
  1. リストを使って Pandas DataFrame のすべての列を表示する
  2. NumPy 配列を使って Pandas DataFrame の全カラムを表示する
Pandas DataFrame のすべての列を表示する

実際の例では、数百、数千という行や列を含む大規模なデータセットに遭遇することがあります。このような大規模なデータの塊を処理するためには、データの行、列、およびタイプに精通している必要があります。多くの場合、後から要素を抽出したり、他の用途に利用したりするために、列の名前を保存しておく必要があります。

通常の状況では、通常は dataframe.columns を使って DataFrame のカラム名を抽出します。これは小さなデータセットの場合には有効ですが、100 以上の列を持つ DataFrame を扱う場合には、この方法はあまり効率的ではないことがわかります。

以下の例は、dataframe.columns の問題を説明するものです。

import pandas as pd
import numpy as np

df = pd.DataFrame(columns=np.arange(150))

print(df.columns)
type(df.columns)

出力:

Int64Index([  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
            ...
            140, 141, 142, 143, 144, 145, 146, 147, 148, 149],
           dtype='int64', length=150)
pandas.core.indexes.numeric.Int64Index

上記の例では、0 から 149 までの 150 列の空の DataFrame を生成していますが、出力にあるようにすべての列を表示することはできません。出力を見るとわかるように、すべてのカラムを見ることはできません。最初の数列と最後の数列の名前しか見ることができず、出力はリストや Series ではなく、保存しておいて後で使うために簡単にアクセスすることができます。

上記の問題を簡単に解決する方法があります。

リストを使って Pandas DataFrame のすべての列を表示する

これには、tolist()list() の 2つのメソッドを使用することができます。これらの関数はどちらもカラム名をリストに変換し、同じ出力を与えます。

tolist() の使用例:

import pandas as pd
import numpy as np

df = pd.DataFrame(columns=np.arange(150))

print(df.columns.tolist())
type(df.columns.tolist())

出力:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149]
list

list() の使用例:

import pandas as pd
import numpy as np

df = pd.DataFrame(columns=np.arange(150))

print(list(df.columns))
type(list(df.columns))

出力:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149]
list

NumPy 配列を使って Pandas DataFrame の全カラムを表示する

関数 values() を使って dataframe.columns の結果を NumPy 配列に変換することができます。

例:

import pandas as pd
import numpy as np

df = pd.DataFrame(columns=np.arange(150))

print(df.columns.values)
type(df.columns.values)

出力:

[  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17
  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35
  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53
  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71
  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89
  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107
 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
 144 145 146 147 148 149]
numpy.ndarray
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Pandas DataFrame