Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

386
Vistas
Bokeh: AttributeError: el objeto 'DataFrame' no tiene atributo 'tolist'

Soy nuevo en pandas y bokeh y estoy tratando de crear un diagrama de dispersión a partir de un marco de datos de pandas. Sin embargo, sigo recibiendo el siguiente error:

 new_data[colname] = df[colname].tolist() AttributeError: 'DataFrame' object has no attribute 'tolist'

Usando los datos ficticios de bokeh (de bokeh.sampledata.iris importa flores como datos), la dispersión funciona bien.

 type tsneX tsneY +50.000 columns 0 A 53.828863 20.740931 1 B 57.816909 18.478468 2 A 55.913429 22.948167 3 C 56.603005 15.738954 scatter = Scatter(df, x='tsneX', y='tsneY', color='type', marker='type', title='t-sne', legend=True)

Editar: no estoy usando tolist(), pero Scatter() de Bokeh sí lo hace y produce el siguiente error.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Está utilizando tolist incorrectamente. Quieres: .values seguidos de tolist()

 type tsneX tsneY 0 A 53.828863 20.740931 1 B 57.816909 18.478468 2 A 55.913429 22.948167 3 C 56.603005 15.738954

Para el marco de datos anterior, para obtener sus valores X e Y como una lista, puede hacer lo siguiente:

 tsneY_data = df['tsneY'].values.tolist() >> [20.740931, 18.478468, 22.948167, 15.7389541] tsneX_data = df['tsneX'].values.tolist() >> [53.828863, 57.816909, 55.913429, 56.603005]

Como ha intentado configurar esto en la columna de un nuevo marco de datos, puede hacer:

 new_data = pd.DataFrame() new_data['tsneY'] = df['tsneY'].values.tolist() > new_data tsneY 0 20.740931 1 18.478468 2 22.948167 3 15.738954
over 4 years ago · Santiago Trujillo Denunciar

0

Resolví el problema extrayendo primero las columnas relevantes del marco de datos.

 df = df.loc[:, ('type', 'tsneX', 'tsneY') scatter = Scatter(df, x='tsneX', y='tsneY', color='type', marker='type', title='t-sne', legend=True)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda