本文使用Facebook的Prophet工具对XX银行的股票进行分析和预测,just for fun!如下是分析过程中的收获和随笔记录。
1. 对DataFrame类型的数据中的某一列数据进行归一化处理
1.1.code
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=pd.read_csv('C:/Users/Administrator/Desktop/txt.csv')
#data.plot()
#data.columns #ndex(['Date', 'Price'], dtype='object')
#data.info()
#归一化部分代码
min1=min(data['Price'])
max1=max(data['Price'])
def to_onevec(x):
x1=(x-min1)/(max1-min1)
return x1
#处理完后重新塞回去数据就更新
data['Price']=data['Price'].apply(lambda x:to_onevec(x)) #针对DataFrame和Series类型的数据可以使用apply遍历他们中的每一个元素:并对每一个元素执行同样的操作(如:数据的归一化、对数变换、统一减掉均值、取绝对值等)
1.2.效果
2. 安装Prophet
pip install pystan ==>粘贴到QQ浏览器使用迅雷加速下载文件 https://files.pythonhosted.org/packages/ed/dc/386aa9acc6c3f89ef56f75255a2de97bb8593f3109e01ebbe20ab2a4718e/pystan-2.18.0.0-cp35-cp35m-win_amd64.whl
pip install C:\Users\Administrator\AppData\Local\conda\conda\envs\tensorflow\Lib\site-packages\pystan-2.18.0.0-cp35-cp35m-win_amd64.whl
pip install fbprophet
import fbprophet #检验安装成功
3. XX银行股票分析走起
"""python3股票数据分析预测"""
import fix_yahoo_finance as yf
import pandas_datareader.data as web
import matplotlib.pyplot as plt
import datetime
#1.读取数据
yf.pdr_override()
end=datetime.datetime.now()
start=end-10*datetime.timedelta(days=365) #取到10年的数据,从当前向过去回退10年
#读取平安银行数据
df_csvsave=web.get_data_yahoo('000001.SZ',start,end)
print(df_csvsave)
df_csvsave.index
df_csvsave.columns
plt.subplots(figsize=(15,8))
plt.plot(df_csvsave['Open'])
plt.plot(df_csvsave['High'])
#plt.plot(df_csvsave['Low'])
#plt.plot(df_csvsave['Close'])
plt.show()
import pandas_datareader as pdr
pdr1=pdr.get_data_fred('GS10') #取到某一列
#2.检查缺失值
df_csvsave.isnull().values.sum() #0
#可视化股票走势图
from matplotlib import pyplot as plt
df_csvsave['Close'].plot(figsize=(16,9)) #画出收盘价格走势