Convertir el marco de datos de pandas en un diccionario donde las claves son el índice y los valores son la lista de valores de columna

Sociópata

Tengo un marco de datos

df:

    cola    colb   colc   cold
0      0    'a'     'b'   'c'
1      1    'd'     None  None
2      2    'g'     'h'   None

Quiero convertirlo en dictdonde el índice son claves y la lista de valores de columna son valores como a continuación:

d = {0 : [0,'a','b','c'], 1: [1,'d'], 2: [2,'g','h'] }

Lo que probé :

df.to_dict(orient='index')

También probé con otros valores en los orientparámetros pero nada funcionó.

EDITAR :

Quiero ignorar los valores NULL en el diccionario como se muestra en la salida.

Jezreel

Usar DataFrame.to_dictcon orient='list', solo antes de la transposición DataFrame:

d = df.T.to_dict(orient='list')
print (d)
{0: [0, 'a', 'b', 'c'], 1: [1, 'd', 'e', 'f'], 2: [2, 'g', 'h', 'i']}

EDITAR:

d = df.stack().groupby(level=0).apply(list).to_dict()
print (d)
{0: [0, 'a', 'b', 'c'], 1: [1, 'd'], 2: [2, 'g', 'h']}

O:

d = {k:[x for x in v if x is not None] for k, v in df.T.to_dict(orient='list').items()}
print (d)
{0: [0, 'a', 'b', 'c'], 1: [1, 'd'], 2: [2, 'g', 'h']}

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados