Converter NumPy Array em Pandas DataFrame
Este tutorial explica como converter um array numérica para uma Pandas DataFrame utilizando o método pandas.DataFrame()
.
Passamos o array numérica para o método pandas.DataFrame()
para gerar Pandas DataFrames a partir de arrays NumPy. Podemos também especificar nomes de colunas e índices de linhas para o DataFrame.
Converter NumPy Array em Pandas DataFrame utilizando o método pandas.DataFrame()
Passamos o array NumPy para o método pandas.DataFrame()
para gerar a DataFrame a partir do array NumPy.
from numpy import random
import pandas as pd
random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
print("NumPy Data Array is:")
print(data_array)
print("")
data_df = pd.DataFrame(data_array)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Resultado:
NumPy Data Array is:
[[27 44 77]
[75 65 47]
[30 84 86]
[18 9 41]]
The DataFrame generated from the NumPy array is:
0 1 2
0 27 44 77
1 75 65 47
2 30 84 86
3 18 9 41
Primeiro cria um array aleatório de tamanho (4,3)
com 4 filas e 3 colunas. Passamos então o array como argumento para o método pandas.DataFrame()
, que gera o DataFrame chamado data_df
a partir do array. Por defeito, o método pandas.DataFrame()
irá inserir nomes de colunas e índices de linhas por defeito.
Também podemos definir os nomes das colunas e índices de linha utilizando o parâmetro index
e columns
do método pandas.DataFrame()
.
from numpy import random
import pandas as pd
random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
row_indices = ["Row_1", "Row_2", "Row_3", "Row_4"]
column_names = ["Column_1", "Column_2", "Column_3"]
print("NumPy Data Array is:")
print(data_array)
print("")
data_df = pd.DataFrame(data_array, index=row_indices, columns=column_names)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Resultado:
NumPy Data Array is:
[[27 44 77]
[75 65 47]
[30 84 86]
[18 9 41]]
The DataFrame generated from the NumPy array is:
Column_1 Column_2 Column_3
Row_1 27 44 77
Row_2 75 65 47
Row_3 30 84 86
Row_4 18 9 41
Aqui, definimos o valor de index
para row_indices
, uma lista contendo os índices de cada linha. Da mesma forma, atribuímos nomes de colunas definindo o valor de colunas
à lista column_names
, que contém o nome de cada coluna.
Em alguns casos, a próprio array NumPy pode conter índices de linhas e nomes de colunas. Em seguida, utilizamos o corte do array para extrair os dados, índices de linha e nomes de coluna do array.
import numpy as np
import pandas as pd
marks_array = np.array(
[["", "Mathematics", "Economics"], ["Sunny", 25, 23], ["Alice", 23, 24]]
)
print("NumPy Data Array is:")
print(marks_array)
print("")
row_indices = marks_array[1:, 0]
column_names = marks_array[0, 1:]
data_df = pd.DataFrame(
data=np.int_(marks_array[1:, 1:]), index=row_indices, columns=column_names
)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Resultado:
NumPy Data Array is:
[['' 'Mathematics' 'Economics']
['Sunny' '25' '23']
['Alice' '23' '24']]
The DataFrame generated from the NumPy array is:
Mathematics Economics
Sunny 25 23
Alice 23 24
Temos índices de linhas e nomes de colunas na próprio array NumPy. Seleccionamos todos os valores após a primeira linha e primeira coluna e fornecemos como argumento data
à função pandas.DataFrame()
, e seleccionamos todos os valores da primeira coluna da segunda linha e passamo-los como argumento index
. Da mesma forma, seleccionamos todos os valores da primeira linha da segunda coluna e passamo-lo como argumento colunas
para definir os nomes das colunas.
O numpy.array()
converterá os valores inteiros em valores de string enquanto faz o array NumPy para assegurar o mesmo formato de dados do array. Utilizamos a função numpy.int_()
para converter os valores dos dados de volta ao tipo integer
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArtigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum