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

我做了什么:

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)

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


当前回答

这样就可以了。注意使用display()而不是print。

with pd.option_context('display.max_rows', 5, 'display.max_columns', None): 
    display(my_df)

编辑:

需要使用display,因为pd。Option_context设置只适用于显示,不适用于打印。

其他回答

你可以这样做

df.info(show_counts=True)

它会显示所有的列。将show_counts设置为True表示not_null数据的计数。

如果你只是想看到所有的列,你可以做一些这样的事情作为快速修复

cols = data_all2.columns

现在cols将表现为一个可以被索引的迭代变量。例如

cols[11:20]

这不是一个传统的答案,但我猜您可以转置数据框架来查看行而不是列。我使用这个方法是因为我发现看行比看列更“直观”:

data_all2.T

这应该可以让您查看所有行。这个动作不是永久的,它只是让你查看数据帧的转置版本。

如果行仍然被截断,只需使用print(data_all2.T)查看所有内容。

试试这个——

df.columns.values

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

这是我在Spyder中使用的:

print(df.info()) 

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

df.info()