web-dev-qa-db-fra.com

Bokeh: AttributeError: l'objet 'DataFrame' n'a pas d'attribut 'tolist'

Je suis nouveau sur les pandas et les bokehs et j'essaie de créer un diagramme de dispersion à partir d'un cadre de données sur les pandas. Cependant, je continue à avoir l'erreur suivante: 

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

En utilisant les données factices de bokeh (de bokeh.sampledata.iris importer des fleurs en tant que données), la dispersion fonctionne 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)

Edit: Je n'utilise pas tolist (), mais Scatter () de Bokeh utilise et produit l'erreur ci-dessous.

3
Jab

J'ai résolu le problème en extrayant d'abord les colonnes pertinentes de la structure de données. 

df = df.loc[:, ('type', 'tsneX', 'tsneY')

scatter = Scatter(df, x='tsneX', y='tsneY',
                  color='type', marker='type',
                  title='t-sne',
                  legend=True)
0
Jab

Vous utilisez tolist de manière incorrecte. Vous voulez: .values suivi 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 

Pour la structure de données ci-dessus, pour obtenir vos valeurs X et Y sous forme de liste, vous pouvez procéder comme suit:

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]

Comme vous avez essayé de définir ceci sur la colonne d’un nouveau cadre de données, vous pouvez effectuer les opérations suivantes:

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
9
Chuck