python : pandas 读取csv 文件, matplotlib 画基金净值线
来源:互联网 发布:log4j2连接数据库 编辑:程序博客网 时间:2024/05/01 08:16
数据文件 66001.txt 内容格式:
2017-09-01,1.0202,1.6531,2.4647,1.1081,NaN,2.9068
2017-09-04,1.0134,1.6621,2.4576,1.1083,NaN,2.8983
2017-09-05,1.0168,1.6637,2.4616,1.1085,NaN,2.9010
先在数据文件加入表头: date,jz0,jz1,jz2,jz3,jz4,jz5
2017-09-01,1.0202,1.6531,2.4647,1.1081,NaN,2.9068
2017-09-04,1.0134,1.6621,2.4576,1.1083,NaN,2.8983
2017-09-05,1.0168,1.6637,2.4616,1.1085,NaN,2.9010
... ...
mpl_funds.py 读取csv 文件, 画基金净值线
# -*- coding: utf8 -*-import datetime as dtimport matplotlib as mplimport matplotlib.dates as mdateimport matplotlib.pyplot as pltfrom matplotlib.ticker import MultipleLocatorfrom matplotlib.ticker import FormatStrFormatterimport csv#import numpy as np#import pandas as pddate2num = mdate.strpdate2num('%Y-%m-%d')x = []y = []y1 =[]y2 =[]y3 =[]y4 =[]y5 =[]with open("66001.txt",'r') as csvfile: rows = csv.reader(csvfile, delimiter=',') for row in rows: #print row x.append(date2num(row[0])) y.append(float(row[1])) y1.append(float(row[2])) y2.append(float(row[3])) y3.append(float(row[4])) y4.append(float(row[5])) y5.append(float(row[6]))## 加这个两句 可以显示中文mpl.rcParams['font.sans-serif'] = [u'SimHei']mpl.rcParams['axes.unicode_minus'] = Falsefig = plt.figure(figsize=(12,6)) # 1200x600fig.autofmt_xdate() # 设置x轴时间外观ax1 = fig.add_subplot(1,1,1)autodate = mdate.AutoDateLocator()ax1.xaxis.set_major_locator(autodate) # 设置时间间隔# 设置时间标签显示格式dateFmt = mdate.DateFormatter('%y%m%d')ax1.xaxis.set_major_formatter(dateFmt)# 将x轴次刻度标签设置为61的倍数xminorLocator = MultipleLocator(61)# 显示次刻度标签的位置,没有标签文本ax1.xaxis.set_minor_locator(xminorLocator)#ax1.set_xticks() # 设置x轴间隔 ax1.set_xlim(date2num('2012-01-01'),date2num('2017-09-30')) # 设置x轴范围#plt.xticks(pd.date_range('2012-01-01','2017-09-30'))plt.xticks(rotation=90) # 显示日期旋转90度 plt.title(u'基金净值图')plt.plot(x,y, label='660010')plt.plot(x,y1,label='660011')plt.plot(x,y2,label='660012')plt.plot(x,y3,label='660013')plt.plot(x,y4,label='660014')plt.plot(x,y5,label='660015')plt.grid(True)plt.xlabel(u'日期')plt.ylabel(u'净值')plt.legend(loc=2,prop={'family':'SimHei','size':12}) # loc=2 : upper leftplt.savefig("66001.png", dpi=100)#plt.show()看了参考书:[利用Python进行数据分析] 第6章 数据加载 读写文本格式的数据 第167页
先在数据文件加入表头: date,jz0,jz1,jz2,jz3,jz4,jz5
再简化脚本 mpl_pd_csv.py
# -*- coding: utf-8 -*-import pandas as pd# dataFrame df = pd.read_csv('./66001.txt', 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'] = Falsedf.plot(title= u'基金净值图', grid=True )plt.show()how to 画30日移动平均线
df['jz5'].plot(grid=True)# 画30日移动平均线pd.rolling_mean(df['jz5'], 30).plot(grid=True)
plt.show()
阅读全文
0 0
- python : pandas 读取csv 文件, matplotlib 画基金净值线
- gnuplot : 读取csv 文件, 画基金净值线
- R语言 : 读取csv 文件, 画基金净值线
- 使用python pandas读取csv文件数据
- pandas读取csv文件
- python pandas.read_csv参数整理,读取txt,csv文件
- Pandas Python读取CSV文件中的某一列
- 【Python综合学习】Pandas读取csv文件OSError报错
- 利用pandas模块读取csv文件和excel表格,并用matplotlib画图
- python : bokeh 画基金净值线
- python中写入csv,excel显示、pandas读取csv文件的编码问题
- 使用pandas read_table读取csv文件
- Pandas读取csv文件Error总结
- pandas读取csv文件提示不存在是什么原因?
- pandas读取CSV文件时报错
- pandas读取csv文件的指定列
- Python-读取csv文件
- python读取CSV文件
- 使用defineProperty定义属性的构造函数在调试过程中打印的一些小细节
- cookie设置中文问题
- Spring笔记
- Netty Tls实现
- 使用android studio识别夜神模拟器
- python : pandas 读取csv 文件, matplotlib 画基金净值线
- 小知识点
- POJ 2456 Aggressive cows 笔记
- CSS(七) 盒模型
- 数据结构——栈与队列进制转换
- 第1章 JMX技术概览
- Http 协议
- webrtc视频捕获并通过QT显示
- C语言的数组名的特殊情况