相关疑难解决方法(0)

Python样条曲线或其他在x轴上与时间一致的插值?

试图使用非常有用的熊猫来处理数据作为时间序列,我现在磕磕绊绊的事实是,似乎不存在可以直接插入(使用样条或类似)的数据库,而数据具有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)

python scipy pandas

6
推荐指数
1
解决办法
2371
查看次数

如何在Pandas bygroup中应用linregress

我想在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?

python pandas

6
推荐指数
1
解决办法
3515
查看次数

标签 统计

pandas ×2

python ×2

scipy ×1