Конкатенация внутри для pandas цикла — только запись переменной для последнего элемента в списке

#python #pandas

#python #pandas

Вопрос:

list1 = [1,2,3,4,5,6]

 for num1 in list1:
    pd.concat([dfnew[Indexer[0]],dfnew[Indexer[num1]]],axis=1)
  
  1. Это возвращает фрейм данных только для последнего элемента в списке. Как мне получить фреймы данных для всех элементов в списке?
  2. В идеале я также хотел бы присвоить имя каждому фрейму данных, соответствующему каждому элементу в списке?

Я рассматривал возможность использования цикла for, но потерял представление о том, как его успешно реализовать.

 def test(list1):
    for num1 in list1:
     return pd.concat([dfnew[Indexer[0]],dfnew[Indexer[num1]]],axis=1)
  

Ответ №1:

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

 for num1 in list1:
    XReal=pd.concat([dfnew[Indexer[0]],dfnew[Indexer[1]]],axis=1)
    XImag=pd.concat([dfnew[Indexer[0]],dfnew[Indexer[2]]],axis=1)
    YReal=pd.concat([dfnew[Indexer[0]],dfnew[Indexer[3]]],axis=1)
    YImag=pd.concat([dfnew[Indexer[0]],dfnew[Indexer[4]]],axis=1)
    ZReal=pd.concat([dfnew[Indexer[0]],dfnew[Indexer[5]]],axis=1)
    ZImag=pd.concat([dfnew[Indexer[0]],dfnew[Indexer[6]]],axis=1)