通过movie_id来查询数据库获取电影名字和平均得分

douban_comment_data.db中包含三个表:comment、movie、movie_chinese。三个表中的数据模块定义(DDL)如下:
1.comment

CREATE TABLE comment (
    ID       INTEGER PRIMARY KEY AUTOINCREMENT,
    TIME     TEXT    NOT NULL,
    MOVIEID  TEXT    NOT NULL,
    RATING   INT     NOT NULL,
    CONTENT  TEXT    NOT NULL,
    CREATOR  TEXT    NOT NULL,
    ADD_TIME TEXT    NOT NULL
);

2.movie

CREATE TABLE movie (
    ID       TEXT PRIMARY KEY
                  NOT NULL,
    NAME     TEXT NOT NULL,
    ADD_TIME TEXT NOT NULL
);

3.movie_chinese

CREATE TABLE movie_chinese (
    ID       TEXT PRIMARY KEY
                  NOT NULL,
    NAME     TEXT NOT NULL,
    ADD_TIME TEXT NOT NULL
);

可以看出我们能从comment表里面得到电影的得分(rating)信息,能从movie或者movie_chinese中获取电影名字信息(name)。这样,我们就可以运用pandas读取数据库数据和一些简单的筛选、引用、求平均分的操作来实现标题的功能啦。
代码如下:

import sqlite3
import pandas as pd
movie_id = "1292052"
conn = sqlite3.connect('data/douban_comment_data.db')
movie_list = pd.read_sql_query("select * from movie;",conn)
comment_list = pd.read_sql_query("select * from comment;",conn)
movie_name = movie_list[movie_list.ID==movie_id].NAME.iloc[0] #Series的取单元格数据操作
movie_info = comment_list[comment_list.MOVIEID==movie_id]
movie_rating = movie_info.RATING.mean()
print(movie_name)
print(movie_rating)

运行结果如下:
在这里插入图片描述
我们成功的查到了movie_id为"1292052"的电影是大名鼎鼎的肖申克的救赎,他的平均得分是3.1/5
之后,我们只需要修改movie_id中的值,就可以查询到豆瓣电影的信息了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值