Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

246
Visualizações
Diccionario de listas a dataframe

Tengo un diccionario con cada tecla que contiene una lista de valores flotantes. Estas listas no son del mismo tamaño.

Me gustaría convertir este diccionario en un marco de datos de pandas para poder realizar algunas funciones de análisis en los datos fácilmente, como (mínimo, máximo, promedio, desviación estándar, más).

Mi diccionario se ve así:

 { 'key1': [10, 100.1, 0.98, 1.2], 'key2': [72.5], 'key3': [1, 5.2, 71.2, 9, 10.11, 12.21, 65, 7] }

¿Cuál es la mejor manera de incluir esto en un marco de datos para que pueda utilizar funciones básicas como sum , mean , describe , std ?

Los ejemplos que encuentro (como el enlace anterior), asumen que cada una de las claves tiene la misma cantidad de valores en la lista.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

d={ 'key1': [10, 100.1, 0.98, 1.2], 'key2': [72.5], 'key3': [1, 5.2, 71.2, 9, 10.11, 12.21, 65, 7] } df=pd.DataFrame.from_dict(d,orient='index').transpose()

Entonces df es

 key3 key2 key1 0 1.00 72.5 10.00 1 5.20 NaN 100.10 2 71.20 NaN 0.98 3 9.00 NaN 1.20 4 10.11 NaN NaN

Tenga en cuenta que numpy tiene algunas funciones integradas que pueden hacer cálculos ignorando los valores de NaN , que pueden ser relevantes aquí. Por ejemplo, si desea encontrar la media de la columna 'key1' , puede hacerlo de la siguiente manera:

 import numpy as np np.nanmean(df[['key1']]) 28.07

Otras funciones útiles incluyen numpy.nanstd, numpy.nanvar, numpy.nanmedian, numpy.nansum .

EDITAR: tenga en cuenta que las funciones de su enlace de funciones básicas también pueden manejar valores nan . Sin embargo, sus estimadores pueden ser diferentes de los de numpy. Por ejemplo, calculan el estimador imparcial de la varianza de la muestra , mientras que la versión numpy calcula el estimador "habitual" de la varianza de la muestra .

over 4 years ago · Santiago Trujillo Relatório

0

your_dict = { 'key1': [10, 100.1, 0.98, 1.2], 'key2': [72.5], 'key3': [1, 5.2, 71.2, 9, 10.11, 12.21, 65, 7] } pd.concat({k: pd.Series(v) for k, v in your_dict.items()}) key1 0 10.00 1 100.10 2 0.98 3 1.20 key2 0 72.50 key3 0 1.00 1 5.20 2 71.20 3 9.00 4 10.11 5 12.21 6 65.00 7 7.00 dtype: float64

O con axis=1

 your_dict = { 'key1': [10, 100.1, 0.98, 1.2], 'key2': [72.5], 'key3': [1, 5.2, 71.2, 9, 10.11, 12.21, 65, 7] } pd.concat({k: pd.Series(v) for k, v in your_dict.items()}, axis=1) key1 key2 key3 0 10.00 72.5 1.00 1 100.10 NaN 5.20 2 0.98 NaN 71.20 3 1.20 NaN 9.00 4 NaN NaN 10.11 5 NaN NaN 12.21 6 NaN NaN 65.00 7 NaN NaN 7.00
over 4 years ago · Santiago Trujillo Relatório

0

Le sugiero que simplemente cree un dictado de Serie, ya que sus claves no tienen la misma cantidad de valores:

 { key: pd.Series(val) for key, val in x.items() }

Luego puede hacer operaciones de Pandas en cada columna individualmente.

Una vez que tenga eso, si realmente quiere un DataFrame, puede:

 pd.DataFrame({ key: pd.Series(val) for key, val in x.items() }) key1 key2 key3 0 10.00 72.5 1.00 1 100.10 NaN 5.20 2 0.98 NaN 71.20 3 1.20 NaN 9.00 4 NaN NaN 10.11 5 NaN NaN 12.21 6 NaN NaN 65.00 7 NaN NaN 7.00
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda