数据

主要是对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. JS的可选链操作符(?.)与双问号(??),你用到了吗?

    可选链操作符(?.) 以前一般这样使用: let nestedProp = obj.first && obj.first.second; 或者这样: let temp = obj.fi ...

  2. Angular 18+ 高级教程 – Angular Compiler (AKA ngc) Quick View

    前言 在 Get Started 那一篇,我们提到过 Angular Compilation.这篇稍微给点具体画面,让大家感受一下. 但不会讲细节,对细节感兴趣的可以看这篇 Medium – How ...

  3. Cookie——基本使用

    Cookie 基本使用      Cookie 原理 Cookie 使用细节 Cookie jsp中获取Cookie

  4. STL标准模板库

    STL(Standard Template Library)标准模板库 是C++标准库中的一个重要组成部分,它提供了一组通用的模板类和函数,用于数据结构和算法的实现.STL的核心部分包括容器.算法和迭 ...

  5. 数据库日常实操优质文章分享(含Oracle、MySQL等) | 11月刊

    墨天轮社区正持续举办[聊聊故障处理那些事儿]DBA专题征文活动中,每月进行评优发奖,鼓励大家记录工作中遇到的数据库故障处理过程,不仅用于自我复盘与分析,同时也能帮助其他的同仁们避坑. 这里为大家整理出 ...

  6. Android复习(二)应用资源 --> 颜色状态列表

    转自: https://developer.android.google.cn/guide/topics/resources/color-list-resource 颜色状态列表资源 ColorSta ...

  7. Nuxt.js 应用中的 modules:before 事件钩子详解

    title: Nuxt.js 应用中的 modules:before 事件钩子详解 date: 2024/10/15 updated: 2024/10/15 author: cmdragon exce ...

  8. 云原生周刊:Helm Charts 深入探究 | 2024.3.11

    开源项目推荐 Glasskube Glasskube 提供了一个用于 Kubernetes 的缺失的包管理器.它具有图形用户界面(GUI)和命令行界面(CLI).Glasskube 包是具备依赖感知. ...

  9. DataDream:调一调更好,基于LoRA微调SD的训练集合成新方案 | ECCV'24

    尽管文本到图像的扩散模型已被证明在图像合成方面达到了最先进的结果,但它们尚未证明在下游应用中的有效性.先前的研究提出了在有限的真实数据访问下为图像分类器训练生成数据的方法.然而,这些方法在生成内部分布 ...

  10. 【Kernel】基于 QEMU 的 Linux 内核编译和安装

    目录 安装虚拟机系统 共享目录 编译内核 卸载内核 参考资料 本文主要记录个人做存储系统研究时,在 QEMU 环境下编译和安装 Linux 内核的过程 安装虚拟机系统 之前在 利用 RocksDB + ...