程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

讀取股票類Excel和csv數據並使用pandas,pyecharts畫圖

編輯:Python

數據來源

https://www.lixinger.com/裡面可以下載csv文件
需要注意的是,記得刪除第一行最後的 數據來源於:理杏仁網站(lixinger.com) 這句話,文本和時間序列不能一起處理的

Excel

第一種方法

import pandas as pd
import matplotlib.pyplot as plt
#需要安裝xlrd pip install xlrd==1.2.0
data = pd.read_excel('data/zhongzheng500.xlsx',sheet_name ='Sheet1',usecols=[0,2,4,5],index_col=[0])
#sheet_name傳遞表格名字。usecols從0開始,確定使用列。index_col使用第0列時間作為索引
data.plot(xticks=pd.date_range('2010-12-02','2020-12-02',freq='M'),rot=90)
#顯示x軸的問題,並旋轉90度,因為我覺得默認的日期太少了
plt.rcParams['font.sans-serif']=['SimHei','SimSun'] #顯示中文標簽
plt.rcParams['axes.unicode_minus']=False
plt.show()

使用data.plot(xticks=pd.date_range(‘2010-12-02’,‘2020-12-02’,freq=‘M’),rot=90)的圖像

不使用data.plot(xticks=pd.date_range(‘2010-12-02’,‘2020-12-02’,freq=‘M’),rot=90)

第二種方法

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#需要安裝xlrd pip install xlrd==1.2.0
time = pd.read_excel('data/zz500zhishu.xlsx',sheet_name ='Sheet1',usecols=[0])
time_v = time.values
PE = pd.read_excel('data/zz500zhishu.xlsx',sheet_name ='Sheet1',usecols=[2])
PE_v = PE.values
PB = pd.read_excel('data/zz500zhishu.xlsx',sheet_name ='Sheet1',usecols=[4])
PB_v = PB.values
temp = pd.read_excel('data/zz500zhishu.xlsx',sheet_name ='Sheet1',usecols=[5])
temp_v = temp.values
plt.plot(time_v,PE_v)
plt.plot(time_v,PB_v)
plt.plot(time_v,temp_v)
plt.show()

Csv

import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data/yiming.csv',na_values=0,index_col=[0],encoding='GBK',usecols=[0,1,2])
data.plot()
plt.rcParams['font.sans-serif']=['SimHei','SimSun'] #顯示中文標簽
plt.rcParams['axes.unicode_minus']=False
#顯示x軸的問題,並旋轉90度
plt.show()

pyecharts畫圖

from pyecharts import Line# pip install pyecharts==0.1.9.4
import numpy as np
import pandas as pd
def to_time(T):
time_LIST = []
for time in T:
temp=time.strftime('%Y-%m-%d')
time_LIST.append(temp)
return time_LIST
time = pd.read_excel('data/zz500zhishu.xlsx',sheet_name ='Sheet1',usecols=[0])
time_list = time['時間'].to_list()#將其轉換為list
time_v = to_time(time_list)
PE = pd.read_excel('data/zz500zhishu.xlsx',sheet_name ='Sheet1',usecols=[2])
PE_v = PE['PE溫度'].tolist()#將其轉換為list
line=Line("折線圖")
line.add('PE',time_v,PE_v,mark_point=["max","min"])
line.render('t.html')


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved