Como adicionar uma fileira à Pandas DataFrame

Asad Riaz 30 janeiro 2023
  1. .loc[index] Método para adicionar a linha ao Pandas Dataframe com Listas
  2. Anexar Dicionário como a linha para adicioná-lo ao Pandas Dataframe
  3. Dataframe append() Método para adicionar uma linha
Como adicionar uma fileira à Pandas DataFrame

O Pandas é projetado para carregar um DataFrame totalmente preenchido. Podemos adicionar linha por linha a pandas.Dataframe, utilizando várias abordagens como .loc, dictionary, pandas.concat() ou DataFrame.append().

.loc[index] Método para adicionar a linha ao Pandas Dataframe com Listas

O loc[index] toma a nova lista como uma nova linha e a adiciona ao dado index de pandas.Dataframe.

Códigos de exemplo:

# python 3.x
import pandas as pd

# List of Tuples
fruit_list = [("Orange", 34, "Yes")]
# Create a DataFrame object
df = pd.DataFrame(fruit_list, columns=["Name", "Price", "Stock"])
# Add new ROW
df.loc[1] = ["Mango", 4, "No"]
df.loc[2] = ["Apple", 14, "Yes"]
print(df)

Resultado:

     Name  Price Stock
0  Orange     34   Yes
1   Mango      4    No
2   Apple     14   Yes
Advertência
ignore_index será definido como True quando passarmos um dicionário para a função append(). Caso contrário, ele levantará erros.

Anexar Dicionário como a linha para adicioná-lo ao Pandas Dataframe

O método append() pode tomar o valor do dicionário diretamente como uma linha e adicioná-lo a pandas DataFrame.

Códigos de exemplo:

# python 3.x
import pandas as pd

# List of Tuples
fruit_list = [("Orange", 34, "Yes")]
# Create a DataFrame object
df = pd.DataFrame(fruit_list, columns=["Name", "Price", "Stock"])
# Add new ROW
df = df.append({"Name": "Apple", "Price": 23, "Stock": "No"}, ignore_index=True)
df = df.append({"Name": "Mango", "Price": 13, "Stock": "Yes"}, ignore_index=True)
print(df)

Resultado:

     Name  Price Stock
0  Orange     34   Yes
1   Apple     23    No
2   Mango     13   Yes

Dataframe append() Método para adicionar uma linha

O método append()pode anexar filas de outros DataFrame ao final do DataFrame original, e devolver um novo DataFrame. As colunas do novo DataFrame que não estão no original DataFrame também são adicionadas ao DataFrame existente e os valores das novas células são preenchidos com NaN.

Códigos de exemplo:

import pandas as pd

fruit_list = [("Orange", 34, "Yes")]

df = pd.DataFrame(fruit_list, columns=["Name", "Price", "Stock"])
print("Original DataFrame:")
print(df)
print(".............................")
print(".............................")

new_fruit_list = [("Apple", 34, "Yes", "small")]

dfNew = pd.DataFrame(new_fruit_list, columns=["Name", "Price", "Stock", "Type"])
print("Newly Created DataFrame:")
print(dfNew)
print(".............................")
print(".............................")

# append one dataframe to othher
df = df.append(dfNew, ignore_index=True)
print("Copying DataFrame to orignal...")
print(df)

O ignore_index=True irá ignorar o index do novo DataFrame e atribuir-lhes um novo índice no DataFrame original.

Resultado:

Original DataFrame:
     Name  Price Stock
0  Orange     34   Yes
.............................
.............................
Newly Created DataFrame:
    Name  Price Stock   Type
0  Apple     34   Yes  small
.............................
.............................
Copying  DataFrame to original..:
     Name  Price Stock   Type
0  Orange     34   Yes    NaN
1   Apple     34   Yes  small

Artigo relacionado - Pandas DataFrame