您的位置:首页 > 科技 > 能源 > 欧美独立站建站_定制西装需要多少钱_国际军事新闻最新消息视频_广州网络推广公司

欧美独立站建站_定制西装需要多少钱_国际军事新闻最新消息视频_广州网络推广公司

2024/11/18 6:17:31 来源:https://blog.csdn.net/2302_77975940/article/details/142419110  浏览:    关键词:欧美独立站建站_定制西装需要多少钱_国际军事新闻最新消息视频_广州网络推广公司
欧美独立站建站_定制西装需要多少钱_国际军事新闻最新消息视频_广州网络推广公司

该数据来源于锐思数据库,如果数据有偏差,可能是本人搜索的问题,希望大家谅解。

数据大纲:

其中我们制作折现统计图需要用到的是截止日期,表达数据最后获取的日期,而更新时间则是数据时效性的表示,可以用来筛选数据,这里暂时用不到该时间数据。

目标要求:

对数据进行清洗,统计出活期存款的占比和定期存款的占比,利用折线统计图绘制这两个数据占比的大体走向。

代码实现:

-导入库和导入数据

这个小项目需要我们用到python的pandas库和matplotlib库,首先先将这两个库导入:

import pandas as pd
import matplotlib.pyplot as plt

我们可以提前设计matplotlib库的总体字体形式,以免后续的麻烦

plt.rcParams['font.sans-serif']='SimHei'

利用read_excel()导入数据,这里我们只用到两个参数:io:r文件路径和 sheet_name:第几份文件

data=pd.read_excel(r"D:\桌面\银行占比储蓄情况.xlsx",sheet_name='Sheet1')

 -进行数据清洗

首先,我们不知道数据的日期类型是什么,而大部分时候我们不能直接更改源数据,这时就要利用pd.to_datetime()函数进行日期形式的转化,然后需要利用dropna按行进行全局数据空值的删除(参数:how=any表示全局数据,axis=0表示按行删除,inplace=True表示直接替换源数据):

data['更新时间_UpDt']=pd.to_datetime(data['更新时间_UpDt'])
data.dropna(how='any',inplace=True)

在清洗完数据之后,我们必须要重新配置索引,以免造成潜在的BUG。利用reset_index()函数进行索引的重新配置(参数:inplace=True表示直接替换原数据,drop=True表示删除原来的索引):

data.reset_index(drop=True,inplace=True)

-辅助列的建立

大部分时候,我们想要的数据需要我们对原始数据进行数学运算,然后把它们保存到原始数据框中。这时就要建立辅助列:

data[新建列名]=不同列之间的数学运算

这里我们想要得出储蓄比例,我们就要用总存款/(定期存款或活期存款),同时,为了让我的折线统计图更直观,占比的单位是%,所以我们还要将原始占比数据*100

data['活期存款占比']=round((data['企业活期存款_DemDep']/data['总资产_TotAss']*100),2)
data['定期存款占比']=round((data['企业定期存款_FixedDep']/data['总资产_TotAss']*100),2)

 -数据可视化

我们利用折线图进行可视化,用def自定义函数将可视化函数和其他代码隔离开。用

plot(x=x轴数据,y=y轴数据,mark='o')来初步表示出折线,

再利用plt.ylabel('y轴数据', fontsize=16),

plt.xlabel('x轴数据', fontsize=16),

plt.title('图像标题', fontsize=20)。

fontsize是字体的大小,推荐轴标题大小为16,总标题为20。当然matplotlib库里也有更改字体颜色和图像颜色的代码,这里不做过多介绍。最后用plt.show()指令将图像显现。大概实现方式为:

def center_bank_current_deposit(data1):data1.plot(x=x轴数据,y=y轴数据,mark='o')plt.ylabel('y轴数据', fontsize=16)plt.xlabel('x轴数据', fontsize=16)plt.title('图像标题', fontsize=20)plt.show()

我们将实际参数传入代码内,可以得到:

定期存款可视化:

def center_bank_current_deposit(data1):data1.plot(x='截止日期_EndDt', y='定期存款占比',marker='o')plt.ylabel('定期存款占比(单位:%)', fontsize=16)plt.xlabel('日期', fontsize=16)plt.title('中央银行的定期存款比率变化情况', fontsize=20)plt.show()

活期存款可视化: 

def center_bank_fixed_deposit(data2):data2.plot(x='截止日期_EndDt', y='活期存款占比',marker='o')plt.ylabel('活期存款占比(单位:%)', fontsize=16)plt.xlabel('日期', fontsize=16)plt.title('中央银行的活期存款比率变化情况', fontsize=20)plt.show()

-最终代码汇总实现:

import pandas as pd
import matplotlib.pyplot as plt
#提前设置所有自动化的字体
plt.rcParams['font.sans-serif']='SimHei'#提前设置数据可视化的字体
'''
银行占比情况思路流程:
1.传入数据.
2.数据清洗.
3.辅助列的添加
4.进行多维度的分析
'''
#一.传入数据
data=pd.read_excel(r"D:\桌面\银行占比储蓄情况.xlsx",sheet_name='Sheet1')
#二.数据清洗
#1.时间类日期的清洗(源数据的时间类型是字符串形式的,在作图之前要重新勤洗数据)
data['更新时间_UpDt']=pd.to_datetime(data['更新时间_UpDt'])
data['截止日期_EndDt']=pd.to_datetime(data['截止日期_EndDt'])
#2.删除缺失的值或为零的值,这里选择直接替换原数据
data.dropna(axis=0,how='any',inplace=True)
#(清洗完数据后记得要重新配置索引),这里表示将原来的索引全部删除,并且取代源数据
data.reset_index(drop=True,inplace=True)
#三.辅助列的建立
data['活期存款占比']=round((data['企业活期存款_DemDep']/data['总资产_TotAss']*100),2)
data['定期存款占比']=round((data['企业定期存款_FixedDep']/data['总资产_TotAss']*100),2)#四,进行折线统计图的绘制
def center_bank_current_deposit(data1):data1.plot(x='截止日期_EndDt', y='定期存款占比',marker='o')plt.ylabel('定期存款占比(单位:%)', fontsize=16)plt.xlabel('日期', fontsize=16)plt.title('中央银行的定期存款比率变化情况', fontsize=20)plt.show()
def center_bank_fixed_deposit(data2):data2.plot(x='截止日期_EndDt', y='活期存款占比',marker='o')plt.ylabel('活期存款占比(单位:%)', fontsize=16)plt.xlabel('日期', fontsize=16)plt.title('中央银行的活期存款比率变化情况', fontsize=20)plt.show()

 图像显示:

 

我们可以在plot数据可视化自定义函数中用plt.savefig('路径')代码进行图像的保存,可指定格式,如 .jpg, .pdf

#以上是本人第一次脱离教科书进行的实践,代码成品可能很粗糙,还有很多优化的部分,各位如果有更高效的想法欢迎随时评论。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com