利用python进行基金数据分析
背景说明
本文主要是利用Python提取并分析相关数据,看下当前基金市场上存在哪些类型的基金,作为新手如何判断一支基金是否值得购买。
分析过程
1.获取所有种类基金数据
1.1导入相关包
import pandas as pd
import re
import numpy as np
from bs4 import BeautifulSoup
import requests
import matplotlib.pyplot as plt
%matplotlib inline # 解决图表在jupyter的显示问题
# 解决中文和‘-’号在jupyter的显示问题
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
1.2通过天天基金网接口获取基金数据
1.2.1获取网页信息
url='http://fund.eastmoney.com/js/fundcode_search.js'
num=requests.get(url)
# 通过正则表达式获取基金信息
text=re.findall(r'"(\d*?)","(.*?)","(.*?)","(.*?)","(.*?)"',num.text)
1.2.2将数据转化成二维表并写入本地磁盘(dataframe)
# 转化为二维表
基金代码=[]
基金名称=[]
基金类型=[]
for i in text:
content=list(i)
基金代码.append(content[0])
基金名称.append(content[2])
基金类型.append(content[3])
基金信息=pd.DataFrame({
'代码':基金代码,'名称':基金名称,'类型':基金类型})
# 写入到本地磁盘,想到后续会在excel做一些分析,先把数据下载下来
writer=pd.ExcelWriter(r'D:\工作文档\工作\2020\11月\python\基金数据导出.xlsx')
基金信息.to_excel(writer,sheet_name='基金信息',index=False)
writer.save()
writer.close()
1.3数据概览
1.3.1查看前几行数据
1.3.2查看各类型基金分布及可视化展示
# 按照类型进行分组
分组数量=基金信息.groupby('类型').agg(基金数量=('类型','count')).\
sort_values(by='基金数量',ascending=False).reset_index('类型')
# 图表展示
plt.style.use('ggplot')
fig=plt.figure(figsize=(20,8))
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.bar(x='类型'