首页 > 编程语言 >Python 学习记录(3)

Python 学习记录(3)

时间:2024-10-28 15:33:05浏览次数:2  
标签:yr 记录 Python 学习 df X2 ax X1 True

数据


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")

对其可视化后的结果:
image


利用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')

结果:
image

标签:yr,记录,Python,学习,df,X2,ax,X1,True
From: https://www.cnblogs.com/hai-zei/p/18504033

相关文章

  • 【干货】arima模型python代码实操演练
    以下是用Python实现ARIMA模型的代码。ARIMA(自回归积分滑动平均模型)是一种常用于时间序列数据预测的统计模型。在Python中,可以使用statsmodels库来实现ARIMA模型。安装依赖库如果还没有安装statsmodels和pandas,可以先安装:pipinstallstatsmodelspandas示例代码import......
  • 算法学习笔记3:图论
    图论拓扑序列有向无环图一定存在拓扑序列,通过入度为0来判断该点是否可以加入队列。强连通分量定义:在有向图G中,如果两个顶点u,v间有一条从u到v的有向路径,同时还有一条从v到u的有向路径,则称两个顶点强连通。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向非强连通图......
  • 算法学习笔记1:数据结构
    数据结构并查集一种树形的数据结构,近乎O(1)的时间复杂度。又一次理解了并查集用来维护额外信息的作用,可以用来记录集合中的元素个数,也可以维护节点到根节点之间的距离,可能还有别的,然后在进行路径压缩的时候修改需要维护的额外信息。主要构成pre[]数组、find()、join()......
  • 算法学习笔记2:搜索
    搜索BFS我的理解:基础的bfs本质上也是动态规划,dist[i,j]表示到达(i,j)转移的最小次数。由于动态规划的无后效性,就是当前状态确定后,不需要管之前的状态转移。bfs是一层一层搜的,搜索的相当于是一个状态,第一个搜到的就是最优的。比如最简单的走迷宫,每个点只会走一次,那么第一......
  • 机器学习中的算法—背包问题
    原文链接:机器学习中的算法—背包问题–每天进步一点点背包问题是一种资源分配算法,是一种非常典型的问题,是对资源分配最大化的体现。倘若有n件物品,其中每件物品都有属于自己的质量和价值,现在仅有一个背包,但是背包最大的承载量为w,因此需要试图在这个背包里装一些物品,使得物品的......
  • 【25届计算机毕设选题推荐】基于Python的西西家居全屋定制系统的设计与实现 【附源码+
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • C#学习 [程序结构] 顶级语句(9)
    代码与输出命名空间与类型定义usingConsoleApp1.basic;FibonacciSequence.Run(20);MyClass.Hello();MyNameSpace.MyClass.Hello();if(args.Length>0){Console.WriteLine("args的数目大于0.");}else{Console.WriteLine("args的数目为0.");}pub......
  • C#学习 Main() 和命令行参数 (8)
    概述C#程序中只能有一个入口点。如果多个类包含Main方法,必须使用StartupObject编译器选项来编译程序,以指定将哪个Main方法用作入口点。classTestClass{staticvoidMain(string[]args){//Displaythenumberofcommandlinearguments.......
  • 1.python模块abc抽象类
    1.定义一个抽象基类,不可实例化2.继承抽象基类的类,必须实现抽象基类中@abstractmethod的方法3.继承抽象基类的类,必须实现抽象基类中@abstractmethod的方法4.模拟客户端传参,调用调用子类的中重写功能5.issubclass判断是不是子类6.抽象基类的方法注册7.框架结构8.根据设计图......
  • 如何系统地学习 Docker
    Docker是一种开放源代码的软件平台,它提供了在容器中自动化应用程序的部署、管理和运行。如何系统地学习Docker包括了以下几个步骤:了解Docker的基本概念和组件、掌握Docker的核心操作和命令、熟悉创建和管理Docker容器的过程、学习Dockerfile和镜像构建、探索Docker组......