Как показать все имена столбцов в pandas dataframe?

У меня есть датафрейм, состоящий из сотен столбцов, и мне тоже нужно увидеть все имена столбцов.

Что я сделал:

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)

Как показать все столбцы вместо усеченного списка?

Ответы

Ответ 1

Вы можете глобально установить параметры печати. Я думаю, что это должно работать:

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

Это позволит вам видеть все имена столбцов и строк, когда вы делаете .head(). Имя столбца не будет усечено.

Если вы хотите видеть только имена столбцов, вы можете сделать: cols = df.columns.tolist()

Ответ 2

Чтобы получить все имена столбцов DataFrame, df_data в этом примере, вам просто нужно использовать команду df_data.columns.values. Это покажет вам список со всеми именами столбцов вашего Dataframe

Код:

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']

Ответ 3

В интерактивной консоли это легко сделать:

data_all2.columns.tolist()

Или это в скрипте:

print(data_all2.columns.tolist())

Ответ 4

Чтобы получить все имя столбца, вы можете перебирать data_all2.columns.

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

Вы получите имена всех столбцов. Или вы можете сохранить все имена столбцов в другой переменной списка и затем распечатать список.

Ответ 5

Если вы просто хотите увидеть все столбцы, вы можете сделать что-то подобное в качестве быстрого исправления

cols = data_all2.columns

теперь cols будет вести себя как итеративная переменная, которая может быть проиндексирована. например

cols[11:20]

Ответ 6

Быстрое и грязное решение было бы превратить его в строку

print('\t'.join(data_all2.columns))

приведет к тому, что все они будут распечатаны отдельно от вкладок. Конечно, обратите внимание, что с 102 именами, все они довольно длинными, это будет немного трудно читать

Ответ 7

То, что работало для меня, было следующим:

pd.options.display.max_seq_items = None

Вы также можете установить его в целое число больше, чем количество столбцов.