0304_数据可视化实战(一)

数据处理

安装openpyxl

# 当前执行的命令是安装在该虚拟python环境中
!pip install openpyxl -i https://mirrors.aliyun.com/pypi/simple/

数据查看

import pandas as pd
fund = pd.read_excel('./fund.xlsx')
# 查看前10条数据
fund.head(10)
姓名公司基金数量基金规模基金收益
0艾定飞华商基金221357.23亿元60.88%
1艾小军国泰基金19788793.09亿元133.26%
2安昀长信基金4635348.11亿元176.47%
3彬彬人保资产62855.23亿元51.72%
4包兵华鹏华基金41355148.30亿元102.21%
5白冰洋中银证券441741.84亿元20.95%
6薄官辉银华基金5534734.73亿元160.91%
7边慧银华基金201444.33亿元0.15%
8白海峰招商基金10433230.00亿元93.60%
9白洁中银基金1310261161.36亿元44.71%
# 基金总数据条目
fund.shape # (2550, 7)# 去重:基金公司数量
fund['公司'].nunique() # 159# 基金总数量
fund['基金数量'].sum() # 16045# 计算基金总规模
cond = fund['基金规模'].str.endswith('亿元')  # 判断是否以"亿元"结尾
fund2 = fund[cond] # 数据筛选# 计算基金总规模
size = fund2['基金规模'].str[:-2].astype('float').sum()
size # 298453.42000000004

数据清洗转换

# 过滤基金规模为亿元结尾的数据
cond = fund['基金规模'].str.endswith('亿元')
fund = fund[cond]# 过滤基金规模小于1亿的数据
cond2 = fund['基金规模'].str[:-2].astype('float') > 1
fund = fund[cond2]# 过滤基金收益为空的数据
cond3 = fund['基金收益'].str.endswith('%')
fund = fund[cond3]# 清洗后的数据保存到新的excel
fund.to_excel('./fund_clean.xlsx', index = False)
fund.head()
姓名公司基金数量基金规模基金收益
0艾定飞华商基金221357.23亿元60.88%
1艾小军国泰基金19788793.09亿元133.26%
2安昀长信基金4635348.11亿元176.47%
3彬彬人保资产62855.23亿元51.72%
4包兵华鹏华基金41355148.30亿元102.21%
fund = pd.read_excel('./fund_clean.xlsx')# 基金规模字符串转变为浮点数
fund['基金规模'] = fund['基金规模'].str[:-2].astype('float')# 基金收益字符串转变为浮点数
fund['基金收益'] = fund['基金收益'].str[:-1].astype('float')# 修改列名
fund.columns = ['姓名', '公司', '基金数量', '年', '天','基金规模(亿元)', '基金收益(%)']# 数据保存
fund.to_excel('./fund_result.xlsx',index = False)
fund.head(10)
姓名公司基金数量基金规模(亿元)基金收益(%)
0艾定飞华商基金221357.2360.88
1艾小军国泰基金19788793.09133.26
2安昀长信基金4635348.11176.47
3彬彬人保资产62855.2351.72
4包兵华鹏华基金41355148.30102.21
5白冰洋中银证券441741.8420.95
6薄官辉银华基金5534734.73160.91
7边慧银华基金201444.330.15
8白海峰招商基金10433230.0093.60
9白洁中银基金1310261161.3644.71

数据可视化

基金规模前10公司

%%time
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as snsplt.figure(figsize=(12,9))sns.set_theme(style='darkgrid',context = 'talk',font='SimHei')fund = pd.read_excel('./fund_result.xlsx')# 分组聚合
com = fund.groupby(by = '公司')[['基金规模(亿元)']].sum()# 排序,ascending = False降序;inplace=True:在原始 DataFrame 上进行排序
com.sort_values(by = '基金规模(亿元)',ascending = False, inplace = True)
# 行索引重置
com.reset_index(inplace = True)
com.head()
Wall time: 305 ms
公司基金规模(亿元)
0易方达基金19795.79
1天弘基金16402.23
2南方基金12535.71
3广发基金12398.20
4汇添富基金11204.00
# 取排名前10的基金公司进行展示
# orient='h': 设置条形图为水平方向
sns.barplot(x = '基金规模(亿元)',y = '公司',data = com.iloc[:10],orient='h')plt.savefig('./十大基金公司.png',dpi = 200)

在这里插入图片描述

收益十佳基金经理

import numpy as npfund = pd.read_excel('./fund_result.xlsx')# 降序排序
fund.sort_values(by = '基金收益(%)',ascending=False, inplace=True) 
fund.iloc[:10]
姓名公司基金数量基金规模(亿元)基金收益(%)
2179朱少醒富国基金215148306.812082.04
1802杨谷诺安基金1155034.82739.50
1769谢治宇兴证全球基金4872597.58710.91
2083张坤易方达基金481951197.46681.80
48陈军东吴基金21328834.63554.64
1370魏博中欧基金5823920.15516.85
88曹名长中欧基金81411154.68501.94
1698萧楠易方达基金68195626.39501.19
1287孙伟民生加银基金126278233.79494.82
1220孙芳上投摩根基金5912599.72488.85
plt.figure(figsize=(12,9))
sns.set_theme(style='darkgrid',context = 'talk', font='SimHei')# 条形图
# palette 指定使用'Set1'调色板
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)) # 横坐标刻度
plt.savefig('./收益十佳基金经理.png', dpi = 100)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/540285.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows系统搭建Cloudreve结合内网穿透打造可公网访问的私有云盘

目录 ⛳️推荐 1、前言 2、本地网站搭建 2.1 环境使用 2.2 支持组件选择 2.3 网页安装 2.4 测试和使用 2.5 问题解决 3、本地网页发布 3.1 cpolar云端设置 3.2 cpolar本地设置 4、公网访问测试 5、结语 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff…

1.leetcode---字符串中的第一个唯一字符(Java版)

链接在此: https://leetcode.cn/problems/first-unique-character-in-a-string/description/ 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。 示例 1: 输入: s “leetcode” 输出: 0…

阿里云 云盘扩容之后“不生效”处理办法

服务器只有一块40GB的系统盘(/dev/vda1),目前已扩容到50GB,但是查看磁盘占用,还是没有变化 df -h [rootiZbp19utuqn2ezs6yevameZ www]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 868M…

三个表联合查询的场景分析-场景1:a表关联了b表和c表

本场景对应情景如下: 三个数据表,一个表的两个字段分别关联了另外两个表各自的id数据,可能包含多个id(两个1对多关联)。 目录 数据表准备 需求1、查询c表的列表数据,要求获得关联的b表中的name&#xf…

蓝桥杯第十一届电子类单片机组程序设计

目录 前言 单片机资源数据包_2023(点击下载) 一、第十一届比赛原题 1.比赛题目 2.赛题解读 1)计数功能 2)连续按下无效按键 二、部分功能实现 1.计数功能的实现 2.连续按下无效按键的处理 3.其他处理 1)对于…

vue-draggable-resizable配合vue-plugin-hiprint实现移动输入框(或者其他东西)打印

思路 vue-plugin-hiprint打印只能打印模板(不选择打印范围,因为控制不好位置,所以采用vue-plugin-hiprint自带的打印功能),然后就通过让移动输入框有个父盒子并且输入框怎样移动都不能越过父盒子,所以让这…

SpringCloud Bus 消息总线

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第八篇,即介绍 Bus 消息总线。 二、概述 2.1 遗留的问题 在上一篇文章的最后,我…

网络架构层_服务器上下行宽带

网络架构层_服务器上下行宽带 解释一 云服务器ECS网络带宽的概念、计费、安全及使用限制_云服务器 ECS(ECS)-阿里云帮助中心 网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量,带宽数值越大表示传输能力越强,即在单位…

汇总全网免费API,持续更新(新闻api、财经、音乐。。。)

Public&FreeAPI 网址:apis.whyta.cn UomgAPI 网址:https://api.uomg.com 接口大全 网址:https://www.free-api.com 阿里云api市场 网址:https://market.aliyun.com/data 总结 如果需要更稳定的api,推荐…

strncat 函数

函数理解记忆:str表示的是该函数为string.h里的函数。nnat比strcat多了一个n表示是有数量number的追加。 函数的传入值和返回值: char* strncat( char*brr,char*arr,size_t n); 分别传入被追加的字符串,追加的字符串,追加字符串…

安装mysql到免费DataGrip保姆级教程

由于本教程是全过程,齐全到每一步都有,所以更多的是图片,所以只需要根据图片每一步操作即可,篇幅有点长,见谅。 目录 1,安装mysql 2,环境配置 3,安装DataGrip 4,配置…

【linux线程(二)】线程互斥与线程同步

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 Linux线程 1. 前言2. 多线程互…