试图使用非常有用的熊猫来处理数据作为时间序列,我现在磕磕绊绊的事实是,似乎不存在可以直接插入(使用样条或类似)的数据库,而数据具有DateTime作为x-轴?我似乎总是被迫首先转换为某个浮点数,比如自1980年以来的秒数等等.
到目前为止,我正在尝试以下内容,抱歉奇怪的格式化,我只在ipython笔记本中有这些东西,我无法从那里复制单元格:
from scipy.interpolate import InterpolatedUnivariateSpline as IUS
type(bb2temp): pandas.core.series.TimeSeries
s = IUS(bb2temp.index.to_pydatetime(), bb2temp, k=1)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-67-19c6b8883073> in <module>()
----> 1 s = IUS(bb2temp.index.to_pydatetime(), bb2temp, k=1)
/Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/scipy/interpolate/fitpack2.py in __init__(self, x, y, w, bbox, k)
335 #_data == x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier
336 self._data = dfitpack.fpcurf0(x,y,k,w=w,
--> 337 xb=bbox[0],xe=bbox[1],s=0)
338 self._reset_class()
339
TypeError: float() argument must be a string or a number
Run Code Online (Sandbox Code Playgroud)
通过使用bb2temp.index.values(看起来像这样:
array([1970-01-15 184:00:35.884999, 1970-01-15 184:00:58.668999,
1970-01-15 184:01:22.989999, 1970-01-15 184:01:45.774000,
1970-01-15 184:02:10.095000, 1970-01-15 184:02:32.878999,
1970-01-15 …Run Code Online (Sandbox Code Playgroud) 我想在Pandas ByGroup中应用scipy.stats.linregress.我查看了文档,但我能看到的是如何将某些内容应用于单个列
grouped.agg(np.sum)
Run Code Online (Sandbox Code Playgroud)
或类似的功能
grouped.agg('D' : lambda x: np.std(x, ddof=1))
Run Code Online (Sandbox Code Playgroud)
但是如何应用具有两个输入X和Y的linregress?