数据分析案例-数据可视化

简介: 数据分析案例-数据可视化

数据介绍


可视化分析

首先导入本次项目用的包和数据

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from pyecharts.charts import Bar,Pie
from pyecharts import options as  opts 
from pyecharts.globals import ThemeType
import warnings
warnings.filterwarnings('ignore')
plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus']=False
data = pd.read_csv('2022.csv')
data.head()

# 各个国家的总奖牌数
plt.figure(figsize=(20,10))
sns.barplot(x='国家',y='总数',data=data)

# 各个国家的金牌数
plt.figure(figsize=(20,12))
sns.barplot(x='国家',y='金牌',data=data)


# 各个国家的银牌数
plt.figure(figsize=(20,12))
sns.barplot(x='国家',y='银牌',data=data)


# 给原始数据加上所属州
bei_mei = ['美国','加拿大']
ou = ['挪威','德国','瑞典','荷兰','奥地利','瑞士','ROC','法国','意大利','斯洛文尼亚','芬兰','英国','匈牙利','斯洛伐克','捷克','比利时','白俄罗斯','乌克兰','西班牙','拉脱维亚','波兰','爱沙尼亚']
ya = ['中国','日本','韩国']
da_yang = ['新西兰','澳大利亚']
zhou_list = []
for item in data['国家'].values:
    if item in bei_mei:
        zhou = '北美洲'
    if item in ou:
        zhou = '欧洲'
    if item in ya:
        zhou = '亚洲'
    if item in da_yang:
        zhou = '大洋洲'
    zhou_list.append(zhou)
data['州'] = zhou_list
data.head()



# 获奖的国家所在州的分布
a4 = Bar(init_opts=opts.InitOpts(theme = ThemeType.CHALK))
a4.add_xaxis(data['州'].value_counts().index.tolist())
a4.add_yaxis('各个州的数量',data['州'].value_counts().tolist())
a4.set_series_opts(label_opts=opts.LabelOpts(position="top"))
a4.set_global_opts(title_opts=opts.TitleOpts(title="各个州的国家数"))
a4.render_notebook()


# 各个州的国家数占比
a5 = Pie(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a5.add(series_name='州',
        data_pair=[list(z) for z in zip(data['州'].value_counts().index.tolist(),data['州'].value_counts().tolist())],
        rosetype='radius',
        radius='70%',
        )
a5.set_global_opts(title_opts=opts.TitleOpts(title="各个州的国家数占比",
                    pos_left='center',
                    pos_top=30))
a5.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item',formatter='{a} <br/>{b}:{c} ({d}%)'))
a5.render_notebook()


# 每个州的总奖牌数
a6 = Bar(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a6.add_xaxis(data.groupby('州').agg('sum')['总数'].sort_values(ascending=False).index.tolist())
a6.add_yaxis('各个州的总奖牌数量',data.groupby('州').agg('sum')['总数'].sort_values(ascending=False).values.tolist())
a6.set_series_opts(label_opts=opts.LabelOpts(position="top"))
a6.set_global_opts(title_opts=opts.TitleOpts(title="各个州的总奖牌数"))
a6.render_notebook()


# 各个州的总奖牌数占比
a7 = Pie(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a7.add(series_name='州',
        data_pair=[list(z) for z in zip(data.groupby('州').agg('sum')['总数'].sort_values(ascending=False).index.tolist(),data.groupby('州').agg('sum')['总数'].sort_values(ascending=False).values.tolist())],
        rosetype='radius',
        radius='70%',
        )
a7.set_global_opts(title_opts=opts.TitleOpts(title="各个州的总奖牌数占比",
                    pos_left='center',
                    pos_top=30))
a7.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item',formatter='{a} <br/>{b}:{c} ({d}%)'))
a7.render_notebook()


# 每个州的金牌数
a8 = Bar(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a8.add_xaxis(data.groupby('州').agg('sum')['金牌'].sort_values(ascending=False).index.tolist())
a8.add_yaxis('各个州的金牌数量',data.groupby('州').agg('sum')['金牌'].sort_values(ascending=False).values.tolist())
a8.set_series_opts(label_opts=opts.LabelOpts(position="top"))
a8.set_series_opts(itemstyle_opts=opts.ItemStyleOpts(color='#CD7F32'))
a8.set_global_opts(title_opts=opts.TitleOpts(title="各个州的金牌数"))
a8.render_notebook()


# 每个州的银牌数
a10 = Bar(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a10.add_xaxis(data.groupby('州').agg('sum')['银牌'].sort_values(ascending=False).index.tolist())
a10.add_yaxis('各个州的银牌数量',data.groupby('州').agg('sum')['银牌'].sort_values(ascending=False).values.tolist())
a10.set_series_opts(label_opts=opts.LabelOpts(position="top"))
a10.set_series_opts(itemstyle_opts=opts.ItemStyleOpts(color='#E6E8FA'))
a10.set_global_opts(title_opts=opts.TitleOpts(title="各个州的银牌数"))
a10.render_notebook()



# 各个州的银牌数占比
a11 = Pie(init_opts=opts.InitOpts(theme = ThemeType.CHALK))
a11.add(series_name='州',
        data_pair=[list(z) for z in zip(data.groupby('州').agg('sum')['银牌'].sort_values(ascending=False).index.tolist(),data.groupby('州').agg('sum')['银牌'].sort_values(ascending=False).values.tolist())],
        rosetype='radius',
        radius='70%',
        )
a11.set_global_opts(title_opts=opts.TitleOpts(title="各个州的银牌数占比",
                    pos_left='center',
                    pos_top=30))
a11.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item',formatter='{a} <br/>{b}:{c} ({d}%)'))
a11.render_notebook()


# 每个州的铜牌数
a12 = Bar(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a12.add_xaxis(data.groupby('州').agg('sum')['铜牌'].sort_values(ascending=False).index.tolist())
a12.add_yaxis('各个州的铜牌数量',data.groupby('州').agg('sum')['铜牌'].sort_values(ascending=False).values.tolist())
a12.set_series_opts(itemstyle_opts=opts.ItemStyleOpts(color='#B87333'))
a12.set_series_opts(label_opts=opts.LabelOpts(position="top"))
a12.set_global_opts(title_opts=opts.TitleOpts(title="各个州的铜牌数"))
a12.render_notebook()


# 各个州的铜牌数占比
a13 = Pie(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a13.add(series_name='州',
        data_pair=[list(z) for z in zip(data.groupby('州').agg('sum')['铜牌'].sort_values(ascending=False).index.tolist(),data.groupby('州').agg('sum')['铜牌'].sort_values(ascending=False).values.tolist())],
        radius='70%',
        )
a13.set_global_opts(title_opts=opts.TitleOpts(title="各个州的铜牌数占比",
                    pos_left='center',
                    pos_top=30))
a13.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item',formatter='{a} <br/>{b}:{c} ({d}%)'))
a13.render_notebook()


# 每个州的金牌占比
jin = data.groupby('州').sum()['金牌']
zong = data.groupby('州').sum()['总数']
result = round(jin/zong,2)
a13 = Pie(init_opts=opts.InitOpts(theme = ThemeType.LIGHT))
a13.add(series_name='州',
        data_pair=[list(z) for z in zip(result.index,result.values)],
        rosetype='radius',
        radius='70%',
        )
a13.set_global_opts(title_opts=opts.TitleOpts(title="每个州的金牌占比",
                    pos_left='center',
                    pos_top=30))
a13.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item'))
a13.render_notebook()

# 每个州的银牌占比
yin = data.groupby('州').sum()['银牌']
zong = data.groupby('州').sum()['总数']
result = round(yin/zong,2)
a13 = Pie(init_opts=opts.InitOpts(theme = ThemeType.ESSOS))
a13.add(series_name='州',
        data_pair=[list(z) for z in zip(result.index,result.values)],
        rosetype='radius',
        radius='70%',
        )
a13.set_global_opts(title_opts=opts.TitleOpts(title="每个州的银牌占比",
                    pos_left='center',
                    pos_top=30))
a13.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item'))
a13.render_notebook()


目录
相关文章
|
3月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
62 1
|
4月前
|
数据采集 存储 数据挖掘
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
本文介绍了一个基于Python的书旗网小说网站数据采集与分析系统,通过自动化爬虫收集小说数据,利用Pandas进行数据处理,并通过Matplotlib和Seaborn等库进行数据可视化,旨在揭示用户喜好和市场趋势,为图书出版行业提供决策支持。
415 6
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
|
5天前
|
机器学习/深度学习 数据采集 DataWorks
数据分析经典案例重现:使用DataWorks Notebook 实现Kaggle竞赛之房价预测,成为数据分析大神!
Python是目前当之无愧的数据分析第一语言,大量的数据科学家使用Python来完成各种各样的数据科学任务。本文以Kaggle竞赛中的房价预测为例,结合DataWorks Notebook,完成数据加载、数据探索、数据可视化、数据清洗、特征分析、特征处理、机器学习、回归预测等步骤,主要Python工具是Pandas和SKLearn。本文中仅仅使用了线性回归这一最基本的机器学习模型,读者可以自行尝试其他更加复杂模型,比如随机森林、支持向量机、XGBoost等。
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
在数据科学与机器学习领域,数据可视化是理解数据和优化模型的关键。Python凭借其强大的可视化库Matplotlib和Seaborn成为首选语言。本文通过分析一份包含房屋面积、卧室数量等特征及售价的数据集,展示了如何使用Matplotlib绘制散点图,揭示房屋面积与售价的正相关关系;并利用Seaborn的pairplot探索多变量间的关系。在机器学习建模阶段,通过随机森林模型展示特征重要性的可视化,帮助优化模型。这两个库在数据分析与建模中展现出广泛的应用价值。
57 2
|
3月前
|
数据可视化 数据挖掘 Python
惊呆了!Python数据分析师如何用Matplotlib、Seaborn秒变数据可视化大师?
在数据驱动时代,分析师们像侦探一样在数字海洋中寻找线索,揭示隐藏的故事。数据可视化则是他们的“魔法棒”,将复杂数据转化为直观图形。本文将带你探索Python数据分析师如何利用Matplotlib与Seaborn这两大神器,成为数据可视化大师。Matplotlib提供基础绘图功能,而Seaborn在此基础上增强了统计图表的绘制能力,两者结合使数据呈现更高效、美观。无论是折线图还是箱形图,这两个库都能助你一臂之力。
49 4
|
3月前
|
数据可视化 数据挖掘 Python
告别枯燥数字,拥抱视觉盛宴!Python 数据分析中的数据可视化艺术,你 get 了吗?
在数据驱动时代,数据分析至关重要,但单纯依赖数据表格难以揭示其背后的洞见。这时,数据可视化便彰显出其重要性,尤其借助 Python 的强大工具如 Matplotlib、Seaborn 和 Plotly 等,可将数据转化为直观的图形。Matplotlib 提供高度定制的图表,Seaborn 则简化了图表美化过程。通过折线图、散点图、箱线图、小提琴图及热力图等多种图表形式,我们可以更深入地理解数据分布与关系,有效传达信息并支持决策制定。数据可视化不仅是一门技术,更是讲述数据故事的艺术。
78 3
|
4月前
|
数据采集 数据可视化 关系型数据库
【优秀python 数据分析案例】基于python的穷游网酒店数据采集与可视化分析的设计与实现
本文介绍了一个基于Python的穷游网酒店数据采集与可视化分析系统,通过爬虫技术自动抓取酒店信息,并利用数据分析算法和可视化工具,提供了全国主要城市酒店的数量、星级、价格、评分等多维度的深入洞察,旨在为旅行者和酒店经营者提供决策支持。
152 4
【优秀python 数据分析案例】基于python的穷游网酒店数据采集与可视化分析的设计与实现
|
4月前
|
数据可视化 数据挖掘 Python
Python中的数据可视化:探索性数据分析的利器
【8月更文挑战第29天】在数据科学的世界里,数据可视化是理解复杂数据集的关键。本文将引导你通过Python的强大库,如Matplotlib和Seaborn,来揭示数据背后的故事。我们将一起探索如何利用这些工具进行有效的数据可视化,从而促进对数据的深入理解和分析。文章不仅提供代码示例,还将讨论如何选择恰当的图表类型、调整视觉元素以及如何解释图表结果,旨在帮助初学者建立坚实的数据可视化基础。
|
4月前
|
JSON 数据挖掘 API
案例 | 用pdpipe搭建pandas数据分析流水线
案例 | 用pdpipe搭建pandas数据分析流水线
|
4月前
|
数据可视化 数据挖掘 API
Python数据分析:数据可视化(Matplotlib、Seaborn)
数据可视化是数据分析中不可或缺的一部分,通过将数据以图形的方式展示出来,可以更直观地理解数据的分布和趋势。在Python中,Matplotlib和Seaborn是两个非常流行和强大的数据可视化库。本文将详细介绍这两个库的使用方法,并附上一个综合详细的例子。

热门文章

最新文章