Como adicionar uma fileira à Pandas DataFrame

  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

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

  • Conte valores únicos por grupo(s) em Pandas
  • Como filtrar linhas de dados com base nos valores das colunas em Pandas