Допустим, у меня есть фрейм данных со 100 столбцами и 10 000 строк. Я пытаюсь извлечь ряд столбцов, используя комбинацию имен отдельных столбцов и фрагментов (например, «A1», «C1»: «C3», «D5»: «D57» и т. д.). Когда я пытаюсь это:
dfSelect = df.loc[:, 'A1', 'D5':'D7']
Python возвращается
IndexingError: Too many indexers
Если я попробую это:
dfSelect = df.loc[:, ['A1', 'D5':'D7']]
Python возвращается
File "<ipython-input-2-1f38c6f634d4>", line 653
dfSelect = df.loc[:, ['A1', 'D5' : 'D7']]
^
SyntaxError: invalid syntax
Я знаю, что запуск нескольких dfs - по одному для каждого элемента, который нужно нарезать, - а затем объединение полученных кадров данных будет работать, но если у меня есть 50+ столбцов для извлечения, это не очень эффективно.
Я также пытался запустить цикл, но это не удалось.
for i in fieldLst:
dfSelect = pd.concat(df.loc[:, i])
TypeError: first argument must be an iterable of pandas objects, you passed an object of type "Series"
Есть ли какой-то способ, который мне не хватает? Спасибо.