我有一个由数百列组成的数据框架,我需要看到所有的列名。

我做了什么:

In[37]:
data_all2.columns

输出结果为:

Out[37]:
Index(['customer_id', 'incoming', 'outgoing', 'awan', 'bank', 'family', 'food',
       'government', 'internet', 'isipulsa',
       ...
       'overdue_3months_feature78', 'overdue_3months_feature79',
       'overdue_3months_feature80', 'overdue_3months_feature81',
       'overdue_3months_feature82', 'overdue_3months_feature83',
       'overdue_3months_feature84', 'overdue_3months_feature85',
       'overdue_3months_feature86', 'loan_overdue_3months_total_y'],
      dtype='object', length=102)

我如何显示所有列,而不是一个截断列表?


当前回答

如果你想看到Pandas df.head()中的所有列,那么在运行你的代码之前使用这个片段。所有列数据都是可见的。

pd.pandas.set_option('display.max_columns', None)

在此之后,创建您的数据框架,并尝试这个。

df.head()

它将打印所有列,而不是在更大的数据集中显示“....”。

其他回答

在交互控制台中,很容易做到:

data_all2.columns.tolist()

或者在脚本中:

print(data_all2.columns.tolist())

您可以全局设置打印选项。我认为这是可行的:

方法1:

pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)

方法2:

pd.options.display.max_columns = None
pd.options.display.max_rows = None

这将允许您在执行.head()时查看所有列名和行。任何列名都不会被截断。


如果你只是想看到列名,你可以这样做:

print(df.columns.tolist())

我可能离题了,但我来到这个线程与相同类型的问题,我发现这是一个简单的答案,如果你想在一个长列表和索引中看到所有东西。

这是我在Spyder中使用的:

print(df.info()) 

或者这就是木星所需要的:

df.info()

对我有效的方法如下:

pd.options.display.max_seq_items = None

还可以将其设置为大于列数的整数。

要获得所有列名,可以遍历data_all2.columns。

columns = data_all2.columns
for col in columns:
    print col

您将得到所有列名。 或者你可以将所有的列名存储到另一个列表变量中,然后打印列表。