基于python的奥运会历史数据分析【120年】_冬奥会数据分析与预测python

def medal_stat(year, season=‘Summer’):
t_data = medal_data[(medal_data[‘Year’] <= year) & (medal_data[‘Season’] == season)]
t_data = t_data.groupby([‘region’, ‘Medal’])[‘Nums’].sum().reset_index()
t_data = t_data.set_index([‘region’, ‘Medal’]).unstack().reset_index().fillna(0, inplace=False)
t_data = sorted(
[(row[‘region’][0], int(row[‘Nums’][‘Gold’]), int(row[‘Nums’][‘Silver’]), int(row[‘Nums’][‘Bronze’]))
for _, row in t_data.iterrows()], key=lambda x: x[1] + x[2] + x[3], reverse=True)[:20]
return t_data

year_list = sorted(list(set(medal_data[‘Year’].to_list())), reverse=True)

tl = Timeline(init_opts=opts.InitOpts(theme=‘dark’, width=‘1000px’, height=‘1000px’))
tl.add_schema(is_timeline_show=True, is_rewind_play=True, is_inverse=False,
label_opts=opts.LabelOpts(is_show=False))

for year in year_list:
t_data = medal_stat(year)[::-1]
bar = (
Bar(init_opts=opts.InitOpts())
.add_xaxis([x[0] for x in t_data])
.add_yaxis(“铜牌🥉”, [x[3] for x in t_data],
stack=‘stack1’,
itemstyle_opts=opts.ItemStyleOpts(border_color=‘rgb(220,220,220)’, color=‘rgb(218,165,32)’))
.add_yaxis(“银牌🥈”, [x[2] for x in t_data],
stack=‘stack1’,
itemstyle_opts=opts.ItemStyleOpts(border_color=‘rgb(220,220,220)’, color=‘rgb(192,192,192)’))
.add_yaxis(“金牌🏅️”, [x[1] for x in t_data],
stack=‘stack1’,
itemstyle_opts=opts.ItemStyleOpts(border_color=‘rgb(220,220,220)’, color=‘rgb(255,215,0)’))
.set_series_opts(label_opts=opts.LabelOpts(is_show=True,
position=‘insideRight’,
font_style=‘italic’), )
.set_global_opts(
title_opts=opts.TitleOpts(title=“各国累计奖牌数(夏季奥运会)”),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)),
legend_opts=opts.LegendOpts(is_show=True),
graphic_opts=[opts.GraphicGroup(graphic_item=opts.GraphicItem(
rotation=JsCode(“Math.PI / 4”),
bounding=“raw”,
right=110,
bottom=110,
z=100),
children=[
opts.GraphicRect(
graphic_item=opts.GraphicItem(
left=“center”, top=“center”, z=100
),
graphic_shape_opts=opts.GraphicShapeOpts(
width=400, height=50
),
graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
fill=“rgba(0,0,0,0.3)”
),
),
opts.GraphicText(
graphic_item=opts.GraphicItem(
left=“center”, top=“center”, z=100
),
graphic_textstyle_opts=opts.GraphicTextStyleOpts(
text=year,
font=“bold 26px Microsoft YaHei”,
graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
fill=“#fff”
),
),
),
],
)
], )
.reversal_axis())
tl.add(bar, year)

tl.render(r".\htmlRender\01_各国累计奖牌数(夏季奥运会).html")


![在这里插入图片描述](https://img-blog.csdnimg.cn/7ba213f9a88243ed8d5139a0d05ee061.png)



import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode

athlete_data = pd.read_csv(‘./data/athlete_events.csv’)
noc_region = pd.read_csv(‘./data/noc_regions.csv’)

关联代表国家

data = pd.merge(athlete_data, noc_region, on=‘NOC’, how=‘left’)
print(data.head())

medal_data = data.groupby([‘Year’, ‘Season’, ‘region’, ‘Medal’])[‘Event’].nunique().reset_index()
medal_data.columns = [‘Year’, ‘Season’, ‘region’, ‘Medal’, ‘Nums’]
medal_data = medal_data.sort_values(by=“Year”, ascending=True)

def medal_stat(year, season=‘Summer’):
t_data = medal_data[(medal_data[‘Year’] <= year) & (medal_data[‘Season’] == season)]
t_data = t_data.groupby([‘region’, ‘Medal’])[‘Nums’].sum().reset_index()
t_data = t_data.set_index([‘region’, ‘Medal’]).unstack().reset_index().fillna(0, inplace=False)
t_data = sorted(
[(row[‘region’][0], int(row[‘Nums’][‘Gold’]), int(row[‘Nums’][‘Silver’]), int(row[‘Nums’][‘Bronze’]))
for _, row in t_data.iterrows()], key=lambda x: x[1] + x[2] + x[3], reverse=True)[:20]
return t_data

year_list = sorted(list(set(medal_data[‘Year’].to_list())), reverse=True)

tl = Timeline(init_opts=opts.InitOpts(theme=‘dark’, width=‘1000px’, height=‘1000px’))
tl.add_schema(is_timeline_show=True, is_rewind_play=True, is_inverse=False,
label_opts=opts.LabelOpts(is_show=False))

year_list = sorted(list(set(medal_data[‘Year’][medal_data.Season == ‘Winter’].to_list())), reverse=True)

tl = Timeline(init_opts=opts.InitOpts(theme=‘dark’, width=‘1000px’, height=‘1000px’))
tl.add_schema(is_timeline_show=True, is_rewind_play=True, is_inverse=False,
label_opts=opts.LabelOpts(is_show=False))

for year in year_list:
t_data = medal_stat(year, ‘Winter’)[::-1]
bar = (
Bar(init_opts=opts.InitOpts(theme=‘dark’))
.add_xaxis([x[0] for x in t_data])
.add_yaxis(“铜牌🥉”, [x[3] for x in t_data],
stack=‘stack1’,
itemstyle_opts=opts.ItemStyleOpts(border_color=‘rgb(220,220,220)’, color=‘rgb(218,165,32)’))
.add_yaxis(“银牌🥈”, [x[2] for x in t_data],
stack=‘stack1’,
itemstyle_opts=opts.ItemStyleOpts(border_color=‘rgb(220,220,220)’, color=‘rgb(192,192,192)’))
.add_yaxis(“金牌🏅️”, [x[1] for x in t_data],
stack=‘stack1’,
itemstyle_opts=opts.ItemStyleOpts(border_color=‘rgb(220,220,220)’, color=‘rgb(255,215,0)’))
.set_series_opts(label_opts=opts.LabelOpts(is_show=True,
position=‘insideRight’,
font_style=‘italic’), )
.set_global_opts(
title_opts=opts.TitleOpts(title=“各国累计奖牌数(冬季奥运会)”),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)),
legend_opts=opts.LegendOpts(is_show=True),
graphic_opts=[opts.GraphicGroup(graphic_item=opts.GraphicItem(
rotation=JsCode(“Math.PI / 4”),
bounding=“raw”,
right=110,
bottom=110,
z=100),
children=[
opts.GraphicRect(
graphic_item=opts.GraphicItem(
left=“center”, top=“center”, z=100
),
graphic_shape_opts=opts.GraphicShapeOpts(
width=400, height=50
),
graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
fill=“rgba(0,0,0,0.3)”
),
),
opts.GraphicText(
graphic_item=opts.GraphicItem(
left=“center”, top=“center”, z=100
),
graphic_textstyle_opts=opts.GraphicTextStyleOpts(
text=‘截止{}’.format(year),
font=“bold 26px Microsoft YaHei”,
graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
fill=“#fff”
),
),
),
],
)
], )
.reversal_axis())
tl.add(bar, year)

tl.render(r".\htmlRender\02_各国累计奖牌数(冬季奥运会).html")


![在这里插入图片描述](https://img-blog.csdnimg.cn/a739f57603ec47869c78d621c04a3e80.png)


##### 2.⚽️各项运动产生金牌数



import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode

athlete_data = pd.read_csv(‘./data/athlete_events.csv’)
noc_region = pd.read_csv(‘./data/noc_regions.csv’)

关联代表国家

data = pd.merge(athlete_data, noc_region, on=‘NOC’, how=‘left’)
print(data.head())

medal_data = data.groupby([‘Year’, ‘Season’, ‘region’, ‘Medal’])[‘Event’].nunique().reset_index()
medal_data.columns = [‘Year’, ‘Season’, ‘region’, ‘Medal’, ‘Nums’]
medal_data = medal_data.sort_values(by=“Year”, ascending=True)

background_color_js = “”“new echarts.graphic.RadialGradient(0.5, 0.5, 1, [{
offset: 0,
color: ‘#696969’
}, {
offset: 1,
color: ‘#000000’
}])”“”

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
基于Python国内楼盘数据可视化分析与预测系统主要是利用Python语言和相关数据分析、可视化和预测模型库来实现对国内楼盘数据的处理、分析和预测。该系统可以帮助用户更直观地了解楼盘市场情况,为购房者、开发商和政府部门提供决策支持。 首先,系统将使用Python来获取和清洗各大楼盘数据,包括房价、地理位置、面积、交通、配套设施等信息,并对数据进行初步的可视化分析。例如,可以绘制楼盘分布地图、楼盘价格走势曲线、楼盘规模分布图等,以帮助用户更直观地了解楼盘市场的基本情况。 其次,系统将基于Python的机器学习和统计模型,对楼盘数据进行预测分析。通过建立预测模型,可以对楼盘价格走势、供需关系、楼盘开发趋势等进行预测,帮助用户更好地了解未来市场走势,为购房或投资提供参考。 此外,系统还将提供用户交互界面,通过Python的可视化库展现数据分析预测结果。用户可以根据自己的需求,使用系统提供的各种可视化工具进行自定义分析,从而更全面地了解楼盘市场的情况,为相关决策提供支持。 综上所述,基于Python国内楼盘数据可视化分析与预测系统将通过Python技术和相关库来处理、分析和预测楼盘数据,为用户提供更直观、全面的数据分析结果,帮助他们更好地应对楼盘市场的挑战和机遇。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值