11 - 22 演员分析之二

弹幕中主要导演被提及的次数

chen_num=df_all.content.str.contains('凯哥').sum()  #字符串的模糊匹配
dong_num=df_all.content.str.contains('东升').sum()  #字符串的模糊匹配
zhao_num=df_all.content.str.contains('赵薇').sum()  #字符串的模糊匹配
guo_num=df_all.content.str.contains('敬明 小四').sum()  #字符串的模糊匹配
li_num=df_all.content.str.contains('诚儒').sum()  #字符串的模糊匹配

print(chen_num,dong_num,zhao_num,guo_num,li_num)


data=pd.DataFrame({
    
    'name':['陈凯歌','尔东升','赵薇','郭敬明','李诚儒'],'number':[chen_num,dong_num,zhao_num,guo_num,li_num]})
data=data.sort_values('number',ascending=False)
data

x_data=data['name'].values.tolist()
y_data=data['number'].values.tolist()

`#条形图2
bar2=Bar(init_opts=opts.InitOpts(width='1350px',height='750px')) #bar()内可以初始化指定 画布的大小 init_opts=opts.InitOpts
bar2.add_xaxis(xaxis_data=x_data)
bar2.add_yaxis('',yaxis=y_data)
bar2.set_global_opts(title_opts=opts.TitleOpts(title='弹幕中主要导演被提及的次数'),visualmap_opts=opts.VisualMapOpts(max=60000,is_show=False))
bar2.render_notebook() #显示在当前界面``

```python
### 演员提及到的次数top10

actor='参演的所有演员名'
actor_listactor.split('/') # split以指定字符对string进行分割,返回字符list 
#注意,分隔符 前后要保留空格,‘ / ’,否则划分结果中前后会存在空格,‘ 那你 ’,从而影响匹配效果
actor_list

`#选择前十个 方法一,利用列表推导时,时间复杂度高
tiji_num=[df_all.content.str.contains(i).sum() for i in actor_list]
top10=tiji_num[:9]``


#利用pandas制作table
df_actor=pd.DataFrame({
    
    'actor_name':actor_list,'tiji_num':tiji_num})
df_actor.head(10)


#产生数据,绘制条形图
x_data=df_actor['actor_name'].values.tolist()
y_data=['number'].values.tolist()

#条形图2
bar2=Bar(init_opts=opts.InitOpts(width='1350px',height='750px')) #bar()内可以初始化指定 画布的大小 init_opts=opts.InitOpts
bar2.add_xaxis(xaxis_data=x_data)
bar2.add_yaxis('',yaxis=y_data)
bar2.set_global_opts(title_opts=opts.TitleOpts(title='弹幕中主要导演被提及的次数'),visualmap_opts=opts.VisualMapOpts(max=60000,is_show=False))
bar2.render_notebook() #显示在当前界面

猜你喜欢

转载自blog.csdn.net/weixin_46400833/article/details/109961301