holoviews 数据集 select 具有非法 python 可变字符的维度
holoviews dataset select dimension with illegal python variable characters
我有一个全息视图数据集,其中一个关键维度的名称包含 space 和括号。我怎样才能为这个维度做相当于 ds.select(dimension_name=dimension_value)
的事情?请看下面的例子。
import pandas as pd
import holoviews as hv
hv.extension('bokeh', logo=False)
data = {
'a (a)': [1, 1, 2, 2],
'b': [1, 2, 3, 4],
}
df_ = pd.DataFrame(data=data)
ds_ = hv.Dataset(df_, kdims=['a (a)'], vdims=['b'])
ds_.select(WHAT DO I PUT HERE=1)['b'] # <-- What to do?
通常你会select这样:
ds_.select(a=1)
但是由于这个列名是一个非法python变量名,你必须传递一个字典,这个字典将被双星解包:
ds_.select(**{'a (a)': 1})
使用这个非法变量名的切片也可以使用字典来完成:
ds_.select(**{'a (a)': (1, 2.5)})
或者,如果您不介意更改数据集:
您可以重命名列,替换 pandas 数据框中的 space 和括号等。或者在 pandas 数据帧上执行 selection:df_[df_['a (a)'] == 1]
你在discourse.holoviz.org上的类似问题得到了正确的答案,这也让我再次学习:)
https://discourse.holoviz.org/t/how-to-change-order-of-data-of-points-with-non-numeric-x-axis/52/5
有关 select 在全息视图中处理数据的更多信息:
http://holoviews.org/user_guide/Indexing_and_Selecting_Data.html
我有一个全息视图数据集,其中一个关键维度的名称包含 space 和括号。我怎样才能为这个维度做相当于 ds.select(dimension_name=dimension_value)
的事情?请看下面的例子。
import pandas as pd
import holoviews as hv
hv.extension('bokeh', logo=False)
data = {
'a (a)': [1, 1, 2, 2],
'b': [1, 2, 3, 4],
}
df_ = pd.DataFrame(data=data)
ds_ = hv.Dataset(df_, kdims=['a (a)'], vdims=['b'])
ds_.select(WHAT DO I PUT HERE=1)['b'] # <-- What to do?
通常你会select这样:
ds_.select(a=1)
但是由于这个列名是一个非法python变量名,你必须传递一个字典,这个字典将被双星解包:
ds_.select(**{'a (a)': 1})
使用这个非法变量名的切片也可以使用字典来完成:
ds_.select(**{'a (a)': (1, 2.5)})
或者,如果您不介意更改数据集:
您可以重命名列,替换 pandas 数据框中的 space 和括号等。或者在 pandas 数据帧上执行 selection:df_[df_['a (a)'] == 1]
你在discourse.holoviz.org上的类似问题得到了正确的答案,这也让我再次学习:)
https://discourse.holoviz.org/t/how-to-change-order-of-data-of-points-with-non-numeric-x-axis/52/5
有关 select 在全息视图中处理数据的更多信息:
http://holoviews.org/user_guide/Indexing_and_Selecting_Data.html