如何在 python 中找到 bokeh.core.property.containers.PropertyValueColumnData 对象的第 n 个元素?
How do I find nth element of a bokeh.core.property.containers.PropertyValueColumnData object in python?
我正在使用 bokeh/bokeh 服务器创建交互式图表,我的源数据来自 ColumnDataSource。我实现了一个点击工具,所选值可以通过 "sample_missing_source.selected.indices" 访问,returns 源数据的索引 n。我想使用选定的值来更改另一个图形。但是,我无法遍历 sample_missing_source.data 来获取第 n 个元素的数据。
selected = source.selected.indices
print(selected)
[14]
source.data=ColumnDataSource.from_df(df.loc[(df.id == 'test_000') & (df.file == 'test_data.csv')])
print(source.data)
{'completed': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int64),
'interval': array(['97', '97', '97', '97', '97', '97', '97', '97', '97', '97', '97',
'97', '97', '97', '97'], dtype=object),
'missing': array([ 3, 3, 4, 4, 14, 3, 3, 4, 4, 14, 3, 3, 4, 4, 14],
dtype=int64),
'month': array(['44', '44', '44', '44', '44', '46', '46', '46', '46', '46', '72',
'72', '72', '72', '72'], dtype=object),
'file': array(['lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv',
'lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv',
'lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv',
'lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv',
'lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv'],
dtype=object),
'id': array(['2613001', '2613001', '2613001', '2613001', '2613001', '2613001',
'2613001', '2613001', '2613001', '2613001', '2613001', '2613001',
'2613001', '2613001', '2613001'], dtype=object),
'total': array([ 3, 3, 4, 4, 14, 3, 3, 4, 4, 14, 3, 3, 4, 4, 14],
dtype=int64),
'value': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int64),
'variable': array(['lfq_leis_frnd_scr_missing', 'lfq_leis_fam_scr_missing',
'lfq_duties_home_scr_missing', 'lfq_duties_oth_scr_missing',
'lfq_missing', 'lfq_leis_frnd_scr_missing',
'lfq_leis_fam_scr_missing', 'lfq_duties_home_scr_missing',
'lfq_duties_oth_scr_missing', 'lfq_missing',
'lfq_leis_frnd_scr_missing', 'lfq_leis_fam_scr_missing',
'lfq_duties_home_scr_missing', 'lfq_duties_oth_scr_missing',
'lfq_missing'], dtype=object),
'index': array([105808, 106679, 107519, 108471, 109505, 110460, 111346, 112207,
113171, 114204, 174328, 175392, 176428, 177561, 178734])}
我有兴趣获取此对象的每个数组的第 n 个元素(在本例中为第 14 个元素)。有什么想法吗?
PropertyValueColumnData
继承正则 dict
并保留其语义,因此您可以将其用作正则字典:
idx = selected[0]
row = {c: v[idx] for c, v in source.data.items()}
如果需要,只需调用 Series(row)
.
即可将其转换为 pandas.Series
我正在使用 bokeh/bokeh 服务器创建交互式图表,我的源数据来自 ColumnDataSource。我实现了一个点击工具,所选值可以通过 "sample_missing_source.selected.indices" 访问,returns 源数据的索引 n。我想使用选定的值来更改另一个图形。但是,我无法遍历 sample_missing_source.data 来获取第 n 个元素的数据。
selected = source.selected.indices
print(selected)
[14]
source.data=ColumnDataSource.from_df(df.loc[(df.id == 'test_000') & (df.file == 'test_data.csv')])
print(source.data)
{'completed': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int64),
'interval': array(['97', '97', '97', '97', '97', '97', '97', '97', '97', '97', '97',
'97', '97', '97', '97'], dtype=object),
'missing': array([ 3, 3, 4, 4, 14, 3, 3, 4, 4, 14, 3, 3, 4, 4, 14],
dtype=int64),
'month': array(['44', '44', '44', '44', '44', '46', '46', '46', '46', '46', '72',
'72', '72', '72', '72'], dtype=object),
'file': array(['lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv',
'lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv',
'lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv',
'lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv',
'lfq_aggregate.csv', 'lfq_aggregate.csv', 'lfq_aggregate.csv'],
dtype=object),
'id': array(['2613001', '2613001', '2613001', '2613001', '2613001', '2613001',
'2613001', '2613001', '2613001', '2613001', '2613001', '2613001',
'2613001', '2613001', '2613001'], dtype=object),
'total': array([ 3, 3, 4, 4, 14, 3, 3, 4, 4, 14, 3, 3, 4, 4, 14],
dtype=int64),
'value': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int64),
'variable': array(['lfq_leis_frnd_scr_missing', 'lfq_leis_fam_scr_missing',
'lfq_duties_home_scr_missing', 'lfq_duties_oth_scr_missing',
'lfq_missing', 'lfq_leis_frnd_scr_missing',
'lfq_leis_fam_scr_missing', 'lfq_duties_home_scr_missing',
'lfq_duties_oth_scr_missing', 'lfq_missing',
'lfq_leis_frnd_scr_missing', 'lfq_leis_fam_scr_missing',
'lfq_duties_home_scr_missing', 'lfq_duties_oth_scr_missing',
'lfq_missing'], dtype=object),
'index': array([105808, 106679, 107519, 108471, 109505, 110460, 111346, 112207,
113171, 114204, 174328, 175392, 176428, 177561, 178734])}
我有兴趣获取此对象的每个数组的第 n 个元素(在本例中为第 14 个元素)。有什么想法吗?
PropertyValueColumnData
继承正则 dict
并保留其语义,因此您可以将其用作正则字典:
idx = selected[0]
row = {c: v[idx] for c, v in source.data.items()}
如果需要,只需调用 Series(row)
.
pandas.Series