Matplotlib数据可视化进阶(五)

简介: 本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍Matplotlib数据可视化进阶,读本文之前,如果没有 Matplotlib基础建议先看博客:Matplotlib数据可视化入门,Matplotlib数据可视化高级。

4.训练场

4.1 数据处理

  1. 加载数据,并查看相关信息:基金总数据条目,基金公司数量,基金总数量,基金总规模,查看前五条数据
  2. 将基金规模小于1亿元的数据过滤掉,将基金收益没有数据的过滤掉。
  3. 将基金规模和基金收益转换为浮点数,并将处理好的数据保存。


首先我们需要下载一个 Excel 文件:

链接: https://pan.baidu.com/s/1j2pn0vVN3-wJmSZ-01oiUg?pwd=niye

提取码: niye


下载完成之后,把该文件和我们的代码放到同一个文件夹下,这一操作我们在之前的博客中已经反复说到,这里就不再进行演示

数据查看:

import numpy as np
import pandas as pd
fund = pd.read_excel('./fund.xlsx')
print('基金总数据条目:', fund.shape)
print('基金公司一共有:', fund['公司'].nunique()) # 去重
print('基金总数量是:', fund['基金数量'].sum())
# 计算基金总规模
cnt = fund['基金规模'].str.endswith('亿元') # 判断是否以'亿元'结尾
fund2 = fund[cnt]     # 数据筛选
size = fund2['基金规模'].str[: -2].astype('float').sum() # 去掉'亿元'
print('基金总规模是:%0.2f亿元' % (size))
print('查看前五条数据:')
fund.head(5)

41.png

数据清洗:

import pandas as pd
fund = pd.read_excel('./fund.xlsx')
print('数据清洗前:', fund.shape)
# 过滤基金规模为空的数据
cnt = fund['基金规模'].str.endswith('亿元')
fund = fund[cnt]
# 过滤基金规模小于1亿的数据
cnt2 = fund['基金规模'].str[: -2].astype('float') > 1
fund = fund[cnt2]
# 过滤基金收益为空的数据
cnt3 = fund['基金收益'].str.endswith('%')
fund = fund[cnt3]
print('数据清洗后:', fund.shape)
fund.to_excel('./fund_clean.xlsx', index = False)
fund.head()

42.png

数据转换:

import pandas as pd
fund = pd.read_excel('./fund_clean.xlsx')
# 基金规模字符串转变为浮点数
fund['基金规模'] = fund['基金规模'].str[: -2].astype('float')
# 基金收益字符串转变为浮点数
def convert(x):
    x = x[: -1]
    x = float(x)
    return x
fund['基金收益'] = fund['基金收益'].apply(convert)
# 修改列名
fund.columns = ['姓名', '公司', '基金数量', '年', '天', '基金规模(亿元)', '基金收益(%)']
# 数据保存
fund.to_excel('./fund_end.xlsx', index = False)
fund.head(10)

43.png

4.2 数据挖掘与可视化

根据基金总规模,进行排序,水平条形图展示前十大公司

根据收益率,对所有数据进行降序排名,绘制前十佳基金经理。并将金额和收益率绘制到图片中。

十大基金公司:

%%time
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize = (12, 9))
sns.set_theme(style = 'darkgrid', context = 'talk', font = 'KaiTi')
fund = pd.read_excel('./fund_end.xlsx')
# 分组聚合
com = fund.groupby(by = '公司')[['基金规模(亿元)']].sum()
# 排序
com.sort_values(by = '基金规模(亿元)', 
                ascending = False,  # 降序排序
                inplace = True)     # 直接对原数据进行替换
# 行索引重置:变成自然数索引
com.reset_index(inplace = True)
# 画条形图
sns.barplot(x = '基金规模(亿元)', y = '公司',  # x轴和y轴
            data = com.iloc[: 10],    # 切片出来前十个
            orient = 'h')  # 水平条形图

44.png

收益十佳基金经理:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize = (12, 9))
sns.set_theme(style = 'darkgrid', context = 'talk', font = 'STKaiti')
fund = pd.read_excel('./fund_end.xlsx')
# 降序排序并直接替换原数据
fund.sort_values(by = '基金收益(%)', ascending = False, inplace = True)
sns.barplot(x = '基金收益(%)', y = '姓名',  
            data = fund.iloc[:10], orient = 'h',
            palette = 'Set1')  # 画板、颜色
for i in range(10):
    rate = fund.iloc[i]['基金收益(%)']
    pe = fund.iloc[i]['基金规模(亿元)']
    # 绘制基金规模
    plt.text(x = rate / 2, y = i, s = str(pe) + '亿元', ha = 'center', va = 'center')
    # 绘制基金收益
    plt.text(x = rate + 50, y = i, s = str(rate) + '%', va = 'center')
_ = plt.xlim(0, 2500) # 横坐标范围
_ = plt.xticks(np.arange(0, 2500, 200)) # 横坐标刻度    

45.png


目录
相关文章
|
2月前
|
数据可视化 数据挖掘 开发者
Pandas数据可视化:matplotlib集成(df)
Pandas 是 Python 中强大的数据分析库,Matplotlib 是常用的绘图工具。两者结合可方便地进行数据可视化,帮助理解数据特征和趋势。本文从基础介绍如何在 Pandas 中集成 Matplotlib 绘制图表,如折线图、柱状图等,并深入探讨常见问题及解决方案,包括图表显示不完整、乱码、比例不合适、多子图布局混乱、动态更新图表等问题,提供实用技巧和代码示例。掌握这些方法后,你将能更高效地处理数据可视化任务。
59 9
|
3月前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
4月前
|
数据可视化 定位技术 Python
Python数据可视化--Matplotlib--入门
Python数据可视化--Matplotlib--入门
42 0
|
4月前
|
数据可视化 数据挖掘 API
Python中的数据可视化利器:Matplotlib与Seaborn对比解析
在Python数据科学领域,数据可视化是一个重要环节。它不仅帮助我们理解数据,更能够让我们洞察数据背后的故事。本文将深入探讨两种广泛使用的数据可视化库——Matplotlib与Seaborn,通过对比它们的特点、优劣势以及适用场景,为读者提供一个清晰的选择指南。无论是初学者还是有经验的开发者,都能从中找到有价值的信息,提升自己的数据可视化技能。
234 3
|
5月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
93 1
|
5月前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
在数据科学与机器学习领域,数据可视化是理解数据和优化模型的关键。Python凭借其强大的可视化库Matplotlib和Seaborn成为首选语言。本文通过分析一份包含房屋面积、卧室数量等特征及售价的数据集,展示了如何使用Matplotlib绘制散点图,揭示房屋面积与售价的正相关关系;并利用Seaborn的pairplot探索多变量间的关系。在机器学习建模阶段,通过随机森林模型展示特征重要性的可视化,帮助优化模型。这两个库在数据分析与建模中展现出广泛的应用价值。
68 2
|
5月前
|
数据可视化 数据挖掘 开发者
数据可视化新纪元!Python + Matplotlib + Seaborn,让你的数据故事生动起来!
在这个数据可视化的新纪元,让我们充分发挥 Python 的优势,用精彩的图表讲述数据背后的故事,为决策提供有力的支持,为交流带来清晰的视角。
43 4
|
5月前
|
数据可视化 数据挖掘 API
使用Python进行数据可视化:探索Matplotlib和Seaborn库
【9月更文挑战第19天】在数据科学领域,将复杂的数据集转换成直观、易懂的图形是一项基本而关键的技能。本文旨在通过Python编程语言介绍两个强大的数据可视化库——Matplotlib和Seaborn,以及它们如何帮助数据分析师和研究人员揭示数据背后的故事。我们将从基础概念讲起,逐步深入到高级技巧,确保无论读者的背景如何,都能获得必要的知识和启发,以在自己的项目中实现有效的数据可视化。
|
5月前
|
数据可视化 数据挖掘 Python
惊呆了!Python数据分析师如何用Matplotlib、Seaborn秒变数据可视化大师?
在数据驱动时代,分析师们像侦探一样在数字海洋中寻找线索,揭示隐藏的故事。数据可视化则是他们的“魔法棒”,将复杂数据转化为直观图形。本文将带你探索Python数据分析师如何利用Matplotlib与Seaborn这两大神器,成为数据可视化大师。Matplotlib提供基础绘图功能,而Seaborn在此基础上增强了统计图表的绘制能力,两者结合使数据呈现更高效、美观。无论是折线图还是箱形图,这两个库都能助你一臂之力。
60 4
|
5月前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化