Pregunta Error al convertir las tuplas a Pandas DataFrame


Cuando intento convertir las tuplas en un marco de datos pandas, aparece el siguiente error:

El constructor de DataFrame no se llama correctamente!

Estoy usando el siguiente código

columnlist=["Timestamp","Price","Month","Day","DayofWeek","tDaysleftMonth","tDayinMonth","tDayinWeek"]
tickerData=pd.DataFrame(tickerDataRaw,columns=columnlist)

Los datos se cargaron en tuplas de una base de datos MySQL,

Encuentre una captura de pantalla de los datos. Datos que trato de convertir


5
2018-06-16 14:29


origen


Respuestas:


Creo que puedes usar DataFrame.from_records con la conversión tuples a list:

import pandas as pd

tuples = ((1,2,3),(4,6,7),(7,3,6),(8,2,7),(4,6,3),(7,3,6))

columnlist = ['a','b','c']
df = pd.DataFrame.from_records(list(tuples), columns=columnlist)
print (df)
   a  b  c
0  1  2  3
1  4  6  7
2  7  3  6
3  8  2  7
4  4  6  3
5  7  3  6

Otra solución con DataFrame solo constructor

import pandas as pd

tuples = ((1,2,3),(4,6,7),(7,3,6),(8,2,7),(4,6,3),(7,3,6))

columnlist = ['a','b','c']
df = pd.DataFrame(list(tuples), columns=columnlist)
print (df)
   a  b  c
0  1  2  3
1  4  6  7
2  7  3  6
3  8  2  7
4  4  6  3
5  7  3  6

EDITAR:

Si cheque DataFrame y parametro data:

datos : numpy ndarray (estructurado u homogéneo), dict o DataFrame

Dict puede contener series, matrices, constantes u objetos similares a una lista


7
2018-06-16 14:37



De acuerdo con la Página de documentación de Dataframe, se requiere que los datos sean

ndarray numpy (estructurado u homogéneo), dict o DataFrame

La forma más fácil de resolver su problema es simplemente cargar sus datos en un matriz numpy y debería funcionar bien.

>>> tuples = ((1,2,3),(1,2,3),(1,2,3))
>>> columns = ["A", "B", "C"]
>>> pd.DataFrame(tuples, columns=columns)
PandasError: DataFrame constructor not properly called!

>>> pd.DataFrame(np.array(tuples), columns=columns)
   A  B  C
0  1  2  3
1  1  2  3
2  1  2  3

0
2018-06-16 14:48