python : pandas 画移动平均线 新的代码

python 3.7 , pandas 0.23 以上
数据文件 660001.csv 内容格式: 日期,基金净值,累计净值
date,jz,ljjz
2016-01-04,2.4990,3.0990
2016-01-05,2.4277,3.0277
... ... 
2019-02-12,1.8362,2.4362
2019-02-13,1.8589,2.4589

pd_roll_mean_i.py

# -*- coding: utf-8 -*-
import os, sys
if len(sys.argv) ==2:
    i = sys.argv[1]
else:
    print('usage: pd_roll_mean_i.py i ')
    sys.exit(1)
#
import pandas as pd
fcode ='66000'+str(i)
f1 = fcode +'.csv'
df = pd.read_csv(f1, parse_dates=True, index_col=0 )

df.head() # 预览前5行数据
df.describe() # 数据基本统计量

import matplotlib.pyplot as plt
# 加这个两句 可以显示中文
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 画30,60日移动平均线  
df['Ma30'] = df['jz'].rolling(window=30).mean()
df['Ma60'] = df['jz'].rolling(window=60).mean()
df[['jz','Ma30','Ma60']].plot(subplots=False, figsize=(12,6), grid=True, title=fcode)
#plt.show()

f2 = fcode +'.png'
print(f2)
plt.savefig(f2)
plt.close()

参考: http://www.cnblogs.com/jingsupo/p/python-pandas-rolling.html

660001

发布了106 篇原创文章 · 获赞 27 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/belldeep/article/details/87475412