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

Что я сделал:

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)

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

Nabih Bawazir

Ответы (13)

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

Метод 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())

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

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

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

можете попробовать это

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

Я знаю, что это повторение, но я всегда заканчиваю копировать, вставляя и изменяя ответ YOLO:

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

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

data_all2.columns.tolist()

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

print(data_all2.columns.tolist())

Чтобы получить все имена столбцов 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']

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

cols = data_all2.columns

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

cols[11:20]

Самый простой способ, который я нашел, - это

list(df.columns)

Лично я бы не хотел менять глобальные переменные, не так часто мне хочется видеть имена всех столбцов.

У меня было много повторяющихся имен столбцов, и как только я запустил

df = df.loc[:,~df.columns.duplicated()]

Мне удалось увидеть полный список столбцов

Кредит: https://stackoverflow.com/a/40435354/5846417

Не обычный ответ, но я думаю, вы могли бы транспонировать фрейм данных, чтобы смотреть на строки, а не на столбцы. Я использую это, потому что считаю, что просмотр строк более интуитивен, чем просмотр столбцов:

data_all2.T

Это должно позволить вам просмотреть все строки.Это действие не является постоянным, оно просто позволяет вам просмотреть транспонированную версию фрейма данных.

Если строки все еще обрезаны, просто используйте print (data_all2.T), чтобы просмотреть все.

Это поможет. Обратите внимание на использование display () вместо print.

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

РЕДАКТИРОВАТЬ:

Использование display необходимо, потому что настройки pd.option_context применяются только к display, а не к print.

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

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

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

What worked for me was the following:

pd.options.display.max_seq_items = None

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

2022 WebDevInsider