数据

主要是对Pandas相关的数据帧等做处理和一定的可视化

Pandas对数据帧各列的运算

import seaborn as sns
import pandas as pd
#从Seaborn 当中导入鸢尾花数据帧,并处理
iris_df=sns.load_dataset("iris")
X_df=iris_df.copy()
X_df.rename(columns={'sepal_length':'X1',
'sepal_width':'X2'},
inplace=True)
X_df_=X_df[['X1','X2','species']]
#只选择三列 X_df_['X1-E(X1)']=X_df_['X1']-X_df_['X1'].mean()
#新添加一行,用于表示花萼中心化
X_df_['X2-E(X2)']=X_df_['X2']-X_df_['X2'].mean()
#花萼宽度取去均值
X_df_['X1*X2']=X_df_['X2']*X_df_['X2']
X_df_['X1/X2']=X_df_['X1']/X_df_['X2']
#相关相乘与相加 X_df_.drop(['X1','X2'],axis=1,inplace=True)
#删去原先的X1,X2,其中axis=1指明删去的是列,inplace=True说明实在原来的数据帧上操作。 #对相关情况可视化
sns.pairplot(X_df_,corner=True,hue="species")

对其可视化后的结果:


利用Pandas对利率数据的可视化


简单介绍:

  1. 先利用pandas_datareader从多种数据源中获得金融和经济数据。
  2. 之后利用python当中的可视化工具进行可视化。
  3. 最后对图像进行一定的美化。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import pandas_datareader as pdr
#如果没有pandas_datareader库/或出现报错
#先将pandas_datareader库下载,pip install pandas_datareader
import seaborn as sns #----导入数据--start-----
df=pdr.data.DataReader(['DGS6MO','DGS1',
'DGS2','DGS5',
'DGS7','DGS10',
'DGS20','DGS30'],
data_source='fred',
start='01-01-2022',
end='12-31-2022') df=df.dropna()
#修改数据帧列标签,dropna()方法删除数据帧中缺失值NaN.
df=df.rename(columns={'DGS6MO':'0.5 yr',
'DGS1':'1 yr',
'DGS2':'2 yr',
'DGS5':'5 yr',
'DGS7':'7 yr',
'DGS10':'10 yr',
'DGS20':'20 yr',
'DGS30':'30 yr'})
#对相应对象进行改名
#----end----- #------简单画图-----
df.plot(xlabel='Time',ylabel='IR level',
legend=False,
xlim=(df.index.min(),df.index.max())) plt.savefig("利率走势图.svg")
df.plot(subplots=True,layout=(2,4),
sharex=True,sharey=True,
xticks=[],yticks=[],
xlim=(df.index.min(),df.index.max()))
plt.savefig("利率走势图,子图.svg")
#savefig()方法将图片以 SVG 格式进行保存 #----美化线图----
#创建一个图像对象和一个轴对象
fig,ax=plt.subplots(figsize=(5,5))
#fig是一个图形对象,代表整个图形窗口
#ax是一个轴对象,代表图形窗口的子图或者坐标系 df.plot(ax=ax,xlabel="time",legend=True)
#这里ax=ax指定了具体对象
ax.set_xlim((df.index.min(),df.index.max()))
ax.set_ylim((0,5))
ax.set_xticks([])
ax.set_xlabel('time')
ax.set_ylabel('IR level')

结果:


时间序列数据帧索引与切片


简单介绍:

  1. 蒙特卡罗模拟:蒙特卡罗模拟是通过随机抽样的方法进行数值计算的一种技术.
  2. 广泛用于金融,物理,工程等领域,解决复杂的概率,统计和优化问题
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
date_range=pd.date_range(start='2023-01-01',
periods=365*2,freq='D')
#创建日期范围,使用date_range()方法 df=pd.DataFrame(index=date_range)
#创建一个空的DataFrame,用于存储随机行走数据,同时将行标签设置成天 num_path=50
np.random.seed(0)
#50个随机数,同时设置随机种子保证结果可重复 for i in range(num_path):
#满足正态分布随机数
step_idx=np.random.normal(loc=0.0,scale=1.0,
size=len(date_range)-1)
#其中有【(365*2)-2】个数据,因将0作为最开始数据 step_idx=np.append(0,step_idx)
walk_idx=step_idx.cumsum()
#将每天走的情况记录且累加放在相应的列下面,其中列下面放的是一堆
#数据非单值,因cumsum()方法计算累加,代表行走随时间变化
df[f'walk_{i+1}']=walk_idx
#------画出三幅图----- df.plot(legend=False)
plt.grid(True)
plt.ylim(-80,80) df[['walk_1','walk_2']].plot(legend=True)
plt.grid(True)
plt.ylim(-80,80) df.loc['2023-01-01':'2023-08-08',
['walk_1','walk_2']].plot(legend=True) plt.grid(True)
plt.ylim(-80,80)

代码输出情况:

Python 学习记录(3)的更多相关文章

  1. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  2. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  3. Python学习记录day8

    目录 Python学习记录day8 1. 静态方法 2. 类方法 3. 属性方法 4. 类的特殊成员方法 4.1 __doc__表示类的描述信息 4.2 __module__ 和 __class__ ...

  4. Python学习记录day7

    目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...

  5. Python学习记录:括号配对检测问题

    Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...

  6. 实验楼Python学习记录_挑战字符串操作

    自我学习记录 Python3 挑战实验 -- 字符串操作 目标 在/home/shiyanlou/Code创建一个 名为 FindDigits.py 的Python 脚本,请读取一串字符串并且把其中所 ...

  7. 我的Python学习记录

    Python日期时间处理:time模块.datetime模块 Python提供了两个标准日期时间处理模块:--time.datetime模块. 那么,这两个模块的功能有什么相同和共同之处呢? 一般来说 ...

  8. Python 学习记录

    记录一些 学习python 的过程 -------------------------------------- 1. 初始学习 @2013年10月6日 今天开始学习python 了 遇到好多困难但是 ...

  9. python学习记录_IPython基础,Tab自动完成,内省,%run命令_

        这是我第一次写博客,之前也有很多想法,想把自己所接触的,以文本的形式储存,总是没有及时行动.此次下定决心,想把自己所学,所遇到的问题做个记录共享给诸位,与此同时自己作为备忘,感谢各位访问我的博 ...

  10. Python学习记录----数据定义

    摘要: 描述Python中数据定义格式,需要注意的东东. 一 数据声明 Python木有一般语言的具体数据类型,像char,int,string这些通通木有.这有点像javascript,但又不同,j ...

随机推荐

  1. 小tips:CSS实现0.5px的边框的两种方式

    方式一 <style> .border { width: 200px; height: 200px; position: relative; } .border::before { con ...

  2. CSS – Font Family

    前言 font-family 虽然只是一个 CSS 属性, 但是牵连许多东西, 所以独立一篇来讲. 网站一般上会使用 Google Fonts 作为 font-family, 下面会以一个 Googl ...

  3. CSS – vw, vh, position fixed and ICB (initial containing block)

    什么是 vw, vh? vh 的 v 指的是 viewport, h 就是 height. 它是 CSS 值的单位就像 px, %. .container { height: 30vh; backgr ...

  4. 智慧高校IT智能运维方案

    当前高校网络已成为每个学校必备的信息基础设施,也成了学校提高教学.科研及管理水平的重要途径和手段.随着信息化发展,高校网络建设逐步走向数字化.智慧化,传统的人力巡检.运维逐渐难以支撑高校校园稳定运行. ...

  5. 数据库周刊29│2020数据库研究报告;Oracle取消今年技术大会;腾讯云DBbridge发布支持一键迁库;饿了么迁至阿里云;PG数组查询;Oracle被比特币勒索;DM8 安全管理…

    摘要:墨天轮数据库周刊第29期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档.   热门资讯 1.快讯:2020年Oracle OOW大会因疫情取消 系近20年首度[摘要]Oracle ...

  6. kotlin更多语言结构——>选择加入要求

    1.3.70 中引入了 @RequireOptIn 与 @OptIn 注解以取代先前使用的 @Experimental 与 @UseExperimental;同时 -Xopt-in 编译器选项也取代了 ...

  7. 盘点.NET支持的 处理器架构

    在一个会议上,中国招投标协会的技术负责人居然当着很多领导的面说.NET不能在国产服务器上运行,可以说这个技术负责人非蠢即坏.国产服务器的处理器架构主要包括x86.ARM.LoongArch.risc- ...

  8. 云原生周刊:Cilium v1.16.0 发布|20240729

    开源项目 Cyclops Cyclops 是一个开源的开发工具,通过易于使用的用户界面简化了 Kubernetes,使其更易上手.不再需要使用 YAML 创建和配置 Kubernetes 清单,可以使 ...

  9. 云原生周刊:OpenTofu 宣布正式发布 | 2023.1.15

    开源项目推荐 kubeaudit kubeaudit 是一个开源项目,旨在帮助用户对其 Kubernetes 集群进行常见安全控制的审计.该项目提供了工具和检查规则,可以帮助用户发现潜在的安全漏洞和配 ...

  10. 云原生周刊 | 在 Grafana 中显示 K8s Service 之间的依赖关系

    开源项目推荐 Caretta 这个项目可以在 Grafana 监控面板中显示 K8s Service 之间的依赖关系.底层使用的是 eBPF,对应用无侵入. busuanzi 这是一个基于 Golan ...