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

我做了什么:

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)

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


当前回答

你可以这样做

df.info(show_counts=True)

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

其他回答

试试这个——

df.columns.values

要获取DataFrame(本例中为df_data)的所有列名,您只需要使用命令df_data.columns.values。 这将显示一个包含数据框架所有列名的列表

代码:

df_data=pd.read_csv('../input/data.csv')
print(df_data.columns.values)

输出:

['PassengerId' 'Survived' 'Pclass' 'Name' 'Sex' 'Age' 'SibSp' 'Parch' 'Ticket' 'Fare' 'Cabin' 'Embarked']

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

方法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())
df.head(None)

通过这种方式,您可以看到格式数据帧的所有内容。 你需要写

data_all2.head(None)

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

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

编辑:

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