顯示 Pandas DataFrame 的所有列

Manav Narula 2023年1月30日
  1. 使用列表來顯示 Pandas DataFrame 的所有列
  2. 使用 NumPy 陣列顯示 Pandas DataFrame 的所有列
顯示 Pandas DataFrame 的所有列

在現實生活中的例子中,我們會遇到包含成百上千行和列的大型資料集。為了處理這樣大塊的資料,我們需要熟悉資料的行、列和型別。在很多情況下,我們還需要儲存列的名稱,以方便以後提取元素或作其他用途。

在正常情況下,我們通常使用 dataframe.columns 來提取 DataFrame 的列名。這對於小資料集來說是可行的,但是如果我們處理的 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

在上面的例子中,我們生成了一個空的 DataFrame,有 150 個列,從 0 到 149,從輸出中可以看出,我們無法檢視所有的列。我們只能看到前幾列和後幾列的名稱,而且輸出的不是一個列表或 Series,我們可以方便地儲存和訪問,以便進一步使用。

有一個簡單的方法可以解決上述問題,我們可以將 dataframe.columns 的結果轉換為一個列表或者 NumPy 陣列。

使用列表來顯示 Pandas DataFrame 的所有列

為此,我們可以使用兩種方法,tolist()list()。這兩個函式都將列名轉換為一個列表,並給出相同的輸出。

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