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 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