首页 > 代码库 > Intermezzo: A Data Analysis Session
Intermezzo: A Data Analysis Session
# -*- coding: utf-8 -*-"""Created on Wed Nov 05 15:18:17 2014@author: dell"""import pandas as pdimport numpy as npimport datetimeimport matplotlib.pyplot as pltimport matplotlib.dates as mdatesif __name__ == ‘__main__‘: df = pd.read_table(‘carbon.dioxide.txt‘, header = None) data = np.array(list(df[0].values)) fig = plt.figure() ax = fig.add_subplot(331) ax.plot(data) x = np.linspace(1, len(data), len(data)) ax1 = fig.add_subplot(332) ax1.plot(data-315) ax1.plot(((x/350)**2)*35,‘--‘) ax3 = fig.add_subplot(333) ax3.plot(data-315) ax3.plot(((x/350)**1.35)*35, ‘--‘) ax4 = fig.add_subplot(334) myres = data-315-((x/350)**1.35)*35 ax4.plot(myres) ax1 = fig.add_subplot(335) from scipy.interpolate import UnivariateSpline #xs = np.linspace(1, len(data), len(data)*100) xs = np.linspace(1, len(data), 1000) s = UnivariateSpline(x, myres) ys = s(xs) ax1.plot(xs, ys) ax1.plot(myres) ax2 = fig.add_subplot(336) ax2.plot(myres) ax2.plot(3*np.sin(2*np.pi*x/12)) ax3 = fig.add_subplot(337) myres1 = myres - 3*np.sin(2*np.pi*x/12) #myres2 = data - 315-35*(x/350)**1.35 - 3*np.sin(np.pi*2*x/12) s1 = UnivariateSpline(x, myres1, s = 850) ys1 = s1(xs) ax3.plot(xs, ys1) ax3.plot(myres1) ax3.axhline(y = 1, ls = ‘--‘) ax3.axhline(y = -1, ls = ‘:‘) ax8 = fig.add_subplot(338) myfun = 315 + (x/350)**1.35*35 + 3*np.sin(2*np.pi*x/12) + 0.75*np.sin(2*np.pi*x/6) + 0.1 ax8.plot(myfun, ls=‘:‘) ax8.plot(data) ax9 = fig.add_subplot(339) x = np.linspace(1, 800, 800) myfun = 315 + (x/350)**1.35*35 + 3*np.sin(2*np.pi*x/12) + 0.75*np.sin(2*np.pi*x/6) + 0.1 ax9.plot(myfun, ls=‘:‘) ax9.plot(data) ax9.set_xlim(1, 800) plt.show()
http://files.cnblogs.com/hluo/carbon.dioxide.rar
样条平滑函数还没有弄明白回事。
Intermezzo: A Data Analysis Session
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。