data - pandas python
Creación de un DataFrame de Pandas a partir de una matriz Numpy: ¿cómo especifico la columna de índice y los encabezados de columna? (2)
Estoy de acuerdo con Joris; parece que deberías estar haciendo esto de manera diferente, como con los arreglos de grabación numpy . Modificando la "opción 2" de esta gran respuesta , podrías hacerlo así:
import pandas
import numpy
dtype = [(''Col1'',''int32''), (''Col2'',''float32''), (''Col3'',''float32'')]
values = numpy.zeros(20, dtype=dtype)
index = [''Row''+str(i) for i in range(1, len(values)+1)]
df = pandas.DataFrame(values, index=index)
Tengo una matriz Numpy que consiste en una lista de listas, que representa una matriz bidimensional con etiquetas de fila y nombres de columna como se muestra a continuación:
data = array([['''',''Col1'',''Col2''],[''Row1'',1,2],[''Row2'',3,4]])
Me gustaría que el DataFrame resultante tenga Row1 y Row2 como valores de índice, y Col1, Col2 como valores de encabezado
Puedo especificar el índice de la siguiente manera:
df = pd.DataFrame(data,index=data[:,0]),
sin embargo, no estoy seguro de cómo asignar mejor los encabezados de columna.
DataFrame
especificar data
, index
y columns
al constructor de DataFrame
, como en:
>>> pd.DataFrame(data=data[1:,1:], # values
... index=data[1:,0], # 1st column as index
... columns=data[0,1:]) # 1st row as the column names
editar : como en el comentario de @joris, es posible que necesite cambiar a np.int_(data[1:,1:])
arriba para tener el tipo de datos correcto.