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 dict
donde 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 orient
parámetros pero nada funcionó.
EDITAR :
Quiero ignorar los valores NULL en el diccionario como se muestra en la salida.
Usar DataFrame.to_dict
con 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
Déjame decir algunas palabras