python电影数据分析报告_【python数据分析实战】电影票房数据分析(二)数据可视化...

在上一部分《【python数据分析实战】电影票房数据分析(一)数据采集》 已经获取到了2011年至今的票房数据,并保存在了mysql中。

本文将在实操中讲解如何将mysql中的数据抽取出来并做成动态可视化。

图1 每年的月票房走势图

第一张图,我们要看一下每月的票房走势,毫无疑问要做成折线图,将近10年的票房数据放在一张图上展示。

数据抽取:

采集到的票房数据是按天统计的,并且我们只看正常上映的和点映的,其他如重映等场次均不在本次统计内。

因此我们先对mysql中的数据releaseInfo字段进行筛选,然后根据上映年份和月份进行分组聚合,得到10年内每月的票房数据。

用sql取到数据后,再将不同年份的数据分别放入list中,原始数据是以"万"为单位的str,这里我们折算为以"亿"为单位的float。

构造图像:

x轴数据为年份,

再分别将不同年份的票房数据添加到y轴中,

最后配置下图像的属性即可。

config = {...} # db配置省略

conn = pymysql.connect(**config)

cursor = conn.cursor()

sql = '''

select substr(`date`,1,4) year,

substr(`date`,5,2) month,

round(sum(`boxInfo`),2) monthbox

from movies_data

where (substr(`releaseInfo`,1,2) = '上映' or `releaseInfo`='点映' )

group by year,month order by year,month

'''

cursor.execute(sql)

data = cursor.fetchall()

x_data = list(set([int(i[1]) for i in data]))

x_data.sort()

x_data = list(map(str, x_data))

y_data1 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2011']

y_data2 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2012']

y_data3 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2013']

y_data4 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2014']

y_data5 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2015']

y_data6 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2016']

y_data7 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2017']

y_data8 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2018']

y_data9 = [round(int(i[2]) / 10000, 2) for i in data if i[0] == '2019']

cursor.close()

conn.close()

def line_base() -> Line:

c = (

Line(init_opts=opts.InitOpts(height="600px", width="1300px"))

.add_xaxis(x_data)

.add_yaxis("2011", y_data1)

.add_yaxis("2012", y_data2)

.add_yaxis("2013", y_data3)

.add_yaxis("2014", y_data4)

.add_yaxis("2015", y_data5)

.add_yaxis("2016", y_data6)

.add_yaxis("

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于预测启动中到停机整个过程的平均节电压均值并探究影响均值的因素,我们可以使用机器学习中的回归模型进行建模和预测。下面是一个示例代码,展示如何使用Python进行建模和调整: ```python import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression # 1. 数据准备 data = pd.read_csv('data.csv') # 假设数据存储在data.csv文件中 X = data[['factor1', 'factor2', 'factor3']] # 自变量 y = data['avg_voltage'] # 因变量 # 2. 数据划分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 3. 模型建立和训练 model = LinearRegression() model.fit(X_train, y_train) # 4. 模型预测 y_pred = model.predict(X_test) # 5. 模型评估 accuracy = model.score(X_test, y_test) print(f"预测精度:{accuracy}") # 6. 进一步调整模型 # 可以尝试以下方法来提高预测精度: # - 使用更多的特征:尝试添加更多可能影响均值的因素作为自变量 # - 特征工程:对特征进行处理,如标准化、归一化、离散化等 # - 尝试其他回归模型:如决策树回归、随机森林回归、神经网络回归等 # - 调整模型参数:对模型的超参数进行调整,如正则化参数、学习率等 # 7. 展示结果和分析 # 可以通过可视化、统计分析等方法来展示预测结果和探究影响均值的因素 ``` 在上述代码中,首先准备数据,将自变量和因变量分别存储在X和y中。然后将数据划分为训练集和测试集,使用线性回归模型进行建模和训练。接着进行预测并评估模型的预测精度。最后,根据需要进一步调整模型、展示结果和分析影响因素。 要提高预测精度,可以尝试使用更多的特征、进行特征工程、尝试其他回归模型,以及调整模型参数。这些方法可以帮助我们更好地理解和预测启动到停机过程中的平均节电压均值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值