金融数据挖掘—科学计算语言---基础篇5

本文介绍了如何利用Python的Numpy、Pandas库处理Tushare财经数据,包括股票基础信息获取、实时行情和网页抓取实例。通过正则表达式解析和数据可视化,深入浅出地展示了金融数据处理的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

金融数据挖掘—科学计算语言—基础篇5

一、Python基础

二、Numpy科学计算包

三、Pandas数据分析包

四、图形绘制

五、数据源处理

(一)网络数据源

Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。
Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,便于用pandas/NumPy/Matplotlib进行数据分析和可视化。从0.2.5版本开始,Tushare同时兼容Python 2.x和Python 3.x。
在这里插入图片描述

练习

在这里插入图片描述

import tushare as ts
#(1)
pro=ts.pro_api("d80a01f7ee178ec6105b1dca49e4adcebd8043329dab055e74b5297c")  #设置初始化接口
basic=pro.stock_basic()  #获取股票基本信息
basic  #显示
basic.to_csv("股票基本信息.csv")  #以csv格式保存

在这里插入图片描述

#(2)
#方法1:
ts.get_today_all()

#方法2:
pro.daily(ts_code="000001.SZ,000031.SZ",start_date="20200101",end_date="20220421")

在这里插入图片描述

#(3)
ts.get_realtime_quotes("hs300")

在这里插入图片描述

(二)网页爬虫

在这里插入图片描述
在这里插入图片描述
(.?) # 非贪婪匹配1 文本A(.?)文本B # 用于获取文本A和文本B之间的内容
.? # 非贪婪匹配2 文本A.?文本B # 用于跨越文本A和文本B之间的内容

练习1.获取百度新闻网页的源代码
import requests
u="http://news.baidu.com/"
s={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.50"}
#s以字典形式,User-Agent是键,值是用户代理
res=requests.get(u,headers=s).text
print(res)

在这里插入图片描述

练习2.通过正则表达式提取“Hello 123 world 456 Python基础135”中的数字

在这里插入图片描述

练习3.

在这里插入图片描述

s1='<p class="c-author"><img***>央视网新闻&nbsp;&nbsp;2019年04月13日 13:33</p>'
r1='<p class="c-author">(.*?)</p>'
re.findall(r1,s1)[0].replace("<img***>","").replace("&nbsp;&nbsp;","")  #[0]代表提取列表的首个元素

在这里插入图片描述

练习4.

在这里插入图片描述

#(1)
s='''<h3 class="c-title">
 <a href="https://baijiahao.baidu.com/s?id=1631161702623128831&amp;wfr=spider&amp;for=pc"
    data-click="{
      一堆我们不关心的英文
      }"
                target="_blank"
    >
      <em>阿里巴巴</em>代码竞赛现全球首位AI评委 能为代码质量打分
    </a>'''
r='<h3 class="c-title">.*?<a href="(.*?)"'
re.findall(r,s,re.S)[0]  #re.findall(r,s,re.S获取的是列表形式
#(2)
r2='<h3 class="c-title">.*?<em>(.*?)</a>'
re.findall(r2,s,re.S)[0].replace("</em>","").replace("\n","").replace(" ","")

在这里插入图片描述

练习5.

在这里插入图片描述

import pandas_datareader.wb as worldbank
import matplotlib.pyplot as plt
#(1)
countries=worldbank.get_countries()
countries

在这里插入图片描述

#(2)
countries[countries.name=="China"]

在这里插入图片描述

#(3)
data=worldbank.download(indicator="NY.GNP.PCAP.KD",country=["KOR","MX","CHN"],start=2012,end=2022)
data

在这里插入图片描述

data1=data.unstack()
data1

data2=data.unstack(level=0)
data2

在这里插入图片描述

#(4)
plt.rcParams["font.size"]=15
plt.figure(figsize=(10,6))
plt.plot(data2["NY.GNP.PCAP.KD","China"],"r-")
plt.plot(data2["NY.GNP.PCAP.KD","Korea, Rep."],"b-*")
plt.plot(data2["NY.GNP.PCAP.KD","Mexico"],"g--")
plt.legend(["CHN","HOR","MX"])

在这里插入图片描述

六、文本处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只敲代码的嗷呜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值