Jab*_*Jab 5 python pandas bokeh
我是熊猫和散景的新手,我正在尝试从熊猫数据框创建一个散点图.但是,我不断收到以下错误:
new_data[colname] = df[colname].tolist()
AttributeError: 'DataFrame' object has no attribute 'tolist'
Run Code Online (Sandbox Code Playgroud)
使用散景中的虚拟数据(来自bokeh.sampledata.iris导入花作为数据),散射效果很好.
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)
Run Code Online (Sandbox Code Playgroud)
编辑:我没有使用tolist(),但是散景的Scatter()会产生并产生下面的错误.
Chu*_*uck 12
您使用tolist不当.你想要:.values接下来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
Run Code Online (Sandbox Code Playgroud)
对于上面的数据框,要将X和Y值作为列表获取,您可以执行以下操作:
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]
Run Code Online (Sandbox Code Playgroud)
当您尝试将其设置为新数据帧的列时,您可以执行以下操作:
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
Run Code Online (Sandbox Code Playgroud)
我通过首先从数据框中提取相关列来解决这个问题。
df = df.loc[:, ('type', 'tsneX', 'tsneY')
scatter = Scatter(df, x='tsneX', y='tsneY',
color='type', marker='type',
title='t-sne',
legend=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25349 次 |
| 最近记录: |