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

Если вы хотите извлечь 5,10 ...

newdf <- df[c(rep(FALSE,4),TRUE), ]

Если 1,6,11,

newdf <- df[c(TRUE,rep(FALSE,4)), ]
1
задан James Upson 21 January 2019 в 10:45
поделиться

3 ответа

df.drop(columns='DSP Code')

этот бит не работает, потому что вы не присваиваете его новому df

df = df.drop(columns='DSP Code')

Вы также можете просто сохранить интересующие вас столбцы, скопировав их во второй кадр данных. [113 ]

0
ответ дан ilamaaa 21 January 2019 в 10:45
поделиться

Вы можете сделать это следующим образом:

df.drop(['Col_1', 'col_2'], axis=1, inplace=True)

ИЛИ:

df = df.drop(columns=colnames)

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

df = pandas.read_csv('SYB_M_20171001_20171031.txt', encoding='utf-8', sep='\t', usecols=["col1", "col2", "col3"],skiprows=3)
0
ответ дан pygo 21 January 2019 в 10:45
поделиться

Согласно pandas.DataFrame.drop , он возвращает фрейм данных, если вы не выполняете операцию на месте.

Возвращает:
отброшено: pandas.DataFrame

inplace: bool, по умолчанию False

Если True, выполнить операцию на месте и вернуть None.

Либо сделайте это на месте: df.drop(columns=['DSP Code'], inplace=True), либо сохраните возвращенный фрейм данных: df=df.drop(columns=['DSP Code'])

0
ответ дан Ricky Kim 21 January 2019 в 10:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: