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