这是新的,但我现在一直在寻找几个小时,似乎无法找到解决方案。我想要做的是在散景图表中显示数据框的集合。我尝试使用groupby对象,但是在将groupby对象传递给ColumnDataSource时出现错误(如下面的帖子中所述)。
how use bokeh vbar chart parameter with groupby object?
以下是我正在使用的一些示例代码:
import pandas
from bokeh.models import ColumnDataSource
df = pandas.DataFrame(np.random.randn(50, 4), columns=list('ABCD'))
group = df.groupby("A")
source = ColumnDataSource(group)
出现此错误:
ValueError: expected a dict or pandas.DataFrame, got <pandas.core.groupby.DataFrameGroupBy object at 0x103f7bfd0>
有关使用Bokeh在图表中绘制groupby对象的任何想法吗?
提前致谢!
答案 0 :(得分:0)
我没有使用过Bokeh,但是从我看到你传递的是struct C { explicit C() {} };
struct A {
inline static C c;
};
而pandas.core.groupby.DataFrameGroupBy
期待ColumnDataSource
。这就是说,当使用groupby时,你需要创建一个类似于key,value存储的数据结构。因此,pd.DataFrame
对象中的每个组都有一个键和值,该值是您正在寻找的DataFrame。如下所示运行代码有助于您了解从groups
到groupby()
应用的结果数据结构:
DataFrame
请注意,我已将groups = df.group('A')
for group in groups:
# get group key
key = group[0]
# Get group df
group_df = group[1]
替换为group = df.group('A')