como concatenar dataframes como novo grupo?

Oct 25 2020

meio que novo para os pandas.

eu tenho

df1 = pd.Dataframe(
    [
    {'a': 1},
    {'a': 2},
    {'a': 3},
    ]
)

df2 = pd.Dataframe(
    [
    {'a': 4},
    {'a': 5},
    ]
)

eu quero

 df_id  a
 1      1
        2
        3
 2      4
        5
        

Suponha que eu tenha uma lista de dfs como df1e df2. Qual é a maneira correta de obter o resultado df?

Devo também declarar alguma coluna como uma chave? ou uma chave primária? Observe que desejo manter a opção de dividir esse dataframe df_idpara obter de volta o dfs original.

Além disso, como é chamada essa operação? Eu nem sabia o que procurar.

Respostas

3 cfort Oct 25 2020 at 14:45

pd.concat([df1, df2], keys=[1,2]) se você quiser guardar tudo para reutilização posterior:

     a
1 0  1
  1  2
  2  3
2 0  4
  1  5

ou se você deseja descartar os índices originais:

pd.concat([df1, df2], keys=[1,2]).droplevel(1)

   a
1  1
1  2
1  3
2  4
2  5