Подтвердить что ты не робот

Извлечь DataFrame для всех, кроме одного указанного столбца

Есть ли способ выбрать все, кроме одного столбца, в объекте pandas DataFrame? Я видел способы удалить столбец, но я не хочу этого делать.

4b9b3361

Ответ 1

использовать drop метод:

df.drop(column_name, axis=1)

Ответ 2

df.ix[:, df.columns != col]

где col - это имя столбца, в котором не указано.

Ответ 3

вы можете просто выбрать нужные столбцы без удаления или удаления:

collist = ['col1', 'col2', 'col3']
df1 = df[collist]

Просто передайте список желаемых столбцов

Вы также можете получить список столбцов, а затем выбрать из этого списка

collist = df.columns.tolist()
# you can now select from this list any arbritrary range
df1 = df[collist[0:1]]
# or remove a column
collist.remove('col2')
# now select
df1 = df[collist]
# df1 will now only have 'col1' and 'col3'

Ответ 4

Вы можете использовать numpy для создания маски:

import numpy as np
columns = df.columns
mask = np.ones(columns.shape, dtype=bool)
i = 4 #The specified column that you don't want to show
mask[i] = 0
df[columns[mask]]

Ответ 5

Как вариант, вы можете выбрать все столбцы, кроме одного (или многих), используя понимание списка и метод df.loc:

select = [x for x in df.columns if x is not "column_you_don't_want"]
df.loc[:, select]

Если вы хотите оставить более одного столбца, вы можете попробовать следующее:

columns_dont_want = ["col1", "col2"]
select = [x for x in df.columns if x not in columns_dont_want]
df.loc[:, select]

Ответ 6

df[ df.columns[df.columns!='not_this_column'] ]