我正在使用bokeh来打印多列的水平条形图。我用同样的循环。这是代码,但是当我运行它时。我得到这个错误。我是散景的初学者。请帮忙。
chart_cols = ['respondent_age respondent_gender respondent_edu respondent_occupation Religion Caste_cat CM_choice Likely_winner'.split()]
chart_cols
for f in chart_cols:
count = df[f].value_counts()
p = figure(plot_height=400, plot_width=400, title='Chart',toolbar_location=None)
p.title.align = "right"
p.xaxis.axis_label = 'Number of respondents'
p.yaxis.axis_label = 'Something'
p.hbar(y=sorted(df[f].unique()), height=0.7, left=0,
right=count, color=Category20,
alpha=0.7)
show(p)
print('Done')
AttributeError: 'DataFrame' object has no attribute 'value_counts'
要编写上述代码,我使用了bokeh文档和我可以使用的数据。我尝试过
使用.
运算符,但错误相同。在这种情况下,它说没有.
属性
例如df.f.value_counts()
我在做什么错?请帮忙。
答案 0 :(得分:1)
您的chart_cols中有一对额外的方括号。将第一行替换为
chart_cols = 'respondent_age respondent_gender respondent_edu respondent_occupation Religion Caste_cat CM_choice Likely_winner'.split()