Como Criar uma Coluna Vazia em Pandas DataFrame

Suraj Joshi 30 janeiro 2023
  1. Criar Pandas de Coluna Vazia com a Atribuição Simples
  2. pandas.DataFrame.reindex() Método para Adicionar uma Coluna Vazia em Pandas
  3. pandas.DataFrame.assign() para adicionar uma coluna vazia em Pandas DataFrame
  4. pandas.DataFrame.insert() para adicionar uma coluna vazia a uma DataFrame
Como Criar uma Coluna Vazia em Pandas DataFrame

Podemos utilizar reindex(), assign() e insert() métodos de objeto DataFrame para adicionar uma coluna vazia ao DataFrame em Pandas. Também podemos atribuir diretamente um valor vazio à coluna DataFrame para criar uma coluna vazia em Pandas.

Criar Pandas de Coluna Vazia com a Atribuição Simples

Podemos atribuir diretamente colunas de DataFrame a string vazia, valor NaN, ou Pandas Series vazias para criar uma coluna vazia em Pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df["Empty_1"] = ""
df["Empty_2"] = np.nan
df["Empty_3"] = pd.Series()

print(df)

Resultado:

       Date  Income  Expenses Empty_1  Empty_2  Empty_3
0  April-20      10         3              NaN      NaN
1  April-21      20         8              NaN      NaN
2  April-22      10         4              NaN      NaN
3  April-23      15         5              NaN      NaN
4  April-24      10         6              NaN      NaN
5  April-25      12        10              NaN      NaN

Ele cria três colunas vazias em df. A coluna Empty_1 é atribuída com a string vazia, Empty_2 é atribuída com valores NaN e Empty_3 é atribuída com um Pandas Series vazio, o que também resulta em valores NaN de toda a coluna Empty_3.

pandas.DataFrame.reindex() Método para Adicionar uma Coluna Vazia em Pandas

Podemos utilizar o método pandas.DataFrame.reindex() para adicionar várias colunas vazias a um DataFrame em Pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})


column_names = ["Empty_1", "Empty_2", "Empty_3"]

df = df.reindex(columns=column_names)
print(df)

Resultado:

   Empty_1  Empty_2  Empty_3
0      NaN      NaN      NaN
1      NaN      NaN      NaN
2      NaN      NaN      NaN
3      NaN      NaN      NaN
4      NaN      NaN      NaN
5      NaN      NaN      NaN

O código cria novas colunas Empty_1, Empty_2, Empty_3 em df com todos os valores NaN enquanto todas as informações antigas são perdidas.

Para adicionar várias colunas novas enquanto preservamos a inicial, poderíamos escrever o código da seguinte forma:

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df = df.reindex(columns=df.columns.tolist() + ["Empty_1", "Empty_2", "Empty_3"])
print(df)

Resultado:

       Date  Income  Expenses  Empty_1  Empty_2  Empty_3
0  April-20      10         3      NaN      NaN      NaN
1  April-21      20         8      NaN      NaN      NaN
2  April-22      10         4      NaN      NaN      NaN
3  April-23      15         5      NaN      NaN      NaN
4  April-24      10         6      NaN      NaN      NaN
5  April-25      12        10      NaN      NaN      NaN

Isto adiciona colunas vazias Empty_1, Empty_2, e Empty_3 ao df com a preservação das informações iniciais.

pandas.DataFrame.assign() para adicionar uma coluna vazia em Pandas DataFrame

Podemos utilizar o método pandas.DataFrame.assign() para adicionar uma coluna vazia ao DataFrame em Pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df = df.assign(Empty_1="", Empty_2=np.nan)
print(df)

Resultado:

       Date  Income  Expenses Empty_1  Empty_2
0  April-20      10         3              NaN
1  April-21      20         8              NaN
2  April-22      10         4              NaN
3  April-23      15         5              NaN
4  April-24      10         6              NaN
5  April-25      12        10              NaN

Ele cria uma coluna vazia chamada Empty_1 e Empty_2 contendo apenas valores NaN no df.

pandas.DataFrame.insert() para adicionar uma coluna vazia a uma DataFrame

pandas.DataFrame.insert() nos permite inserir uma coluna em um DataFrame em um local especificado. Podemos utilizar este método para adicionar uma coluna vazia a um DataFrame.

Sintaxe:

DataFrame.insert(loc, column, value, allow_duplicates=False)

Ela cria uma nova coluna com o nome column no local loc com o valor padrão value. O método allow_duplicates=False garante que haja apenas uma coluna com o nome column no DataFrame. Se passarmos uma string vazia ou valor NaN como parâmetro de valor, podemos adicionar uma coluna vazia ao DataFrame.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})
df.insert(3, "Empty_1", "")
df.insert(4, "Empty_2", np.nan)
print(df)

Resultado:

       Date  Income  Expenses Empty_1  Empty_2
0  April-20      10         3              NaN
1  April-21      20         8              NaN
2  April-22      10         4              NaN
3  April-23      15         5              NaN
4  April-24      10         6              NaN
5  April-25      12        10              NaN

Ela cria a coluna Empty_1 em df com todos os valores vazios no índice 3 e Empty_2 no índice 4 com todos os valores NaN.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Pandas DataFrame Column

Artigo relacionado - Pandas DataFrame