1. 程式人生 > >Pandas讀取excel資料——pearson相關性分析

Pandas讀取excel資料——pearson相關性分析

利用Pandas和tushare進行一個簡單的資料讀取和分析

一丶Pandas的DataFrame操作方法

一個表格型資料,提供列名和不同的值,以及索引值

通過下面程式碼記錄一些DataFrame的方法

from pandas import Series,DataFrame
#一個字典資料
data={'nike':['hello','world','baby','love'],
     'year':[2000,1526,11616,123],
     'name':['bob','lucy','amy','andy']}
#將字典/列表 資料轉化為DataFrame
d=DataFrame(data) print(d) #改變資料的輸出順序,按列的形式 print(DataFame(data),columns=['name','year','nike']) #改變其輸出的索引名(按abcd索引而不是0123) print(DataFrame(data),columns=['name','year','nike'],index=['a','b','c','d']) #新增一列則該列全部值為21 d['number']=21 #新增一列用Series賦值 d1=Series([1,2,3,4]) d['number']=d1 d2=d.T#資料轉置

二丶資料抽取和儲存分析

這裡用到了一個庫tushare,裡面有很多的資料,連結地址為:
http://tushare.org/trading.html
我們從這裡面抽取了浦發銀行和廣大銀行的資料,然後儲存和分析其相關性

import matplotlib.pyplot as plt
import numpy as np
import tushare as ts
from pandas import DataFrame,Series

s_pf='600000'#浦發銀行股票程式碼
s_gd='601818'#光大銀行股票程式碼
sdate='2017-01-01'#資料獲取開始日期
edate='2017-12-31'#資料獲取結束日期
df_pf=ts.get_h_data(s_pf,start=sdate,end=edate).sort_index(axis=0,ascending=True)#豎著排序 df_gd=ts.get_h_data(s_gd,start=sdate,end=edate).sort_index(axis=0,ascending=True)#豎著排序 #將兩個資料整合到一起 df=pd.concat([df_pf.close,df_gd.close],axis=1,keys=['pf_close','gd_close']) #填充資料 df.ffill(axis=0,inplace=True) #儲存資料 df.to_csv('pf_gd.csv') #然後對資料進行分析 corre=df.corr(method='pearson',periods=1)#方法選擇person相關性 print(corre) plt.plot(figsize=(20,12)) plt.show()

輸出結果:

相關性接近0.7

這裡寫圖片描述
這裡寫圖片描述