Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:rolling.apply()给出了TypeError_Python_Python 3.x_Pandas_Python 2.7_Typeerror - Fatal编程技术网

Python:rolling.apply()给出了TypeError

Python:rolling.apply()给出了TypeError,python,python-3.x,pandas,python-2.7,typeerror,Python,Python 3.x,Pandas,Python 2.7,Typeerror,我的功能: def f(x): print(len(x)) return test.set_index('exchTstamp',inplace=True) test['fit_x'].rolling('1.0S').apply(lambda x: f(list(x))) 在时间索引数据帧上运行以下代码时,我遇到以下错误: > TypeError Traceback (most recent call &

我的功能:

def f(x):
    print(len(x)) 
    return

test.set_index('exchTstamp',inplace=True)
test['fit_x'].rolling('1.0S').apply(lambda x: f(list(x)))
在时间索引数据帧上运行以下代码时,我遇到以下错误:

> TypeError                                 Traceback (most recent call
> last) <ipython-input-151-4de6334ec332> in <module>()
> ----> 1 g=testTbt['fit_x'].rolling('1.0S').apply(lambda x: f(list(x)))
> 
> /usr/lib64/python2.7/site-packages/pandas/core/window.pyc in
> apply(self, func, raw, args, kwargs)    1701     def apply(self, func,
> raw=None, args=(), kwargs={}):    1702         return super(Rolling,
> self).apply(
> -> 1703             func, raw=raw, args=args, kwargs=kwargs)    1704     1705     @Substitution(name='rolling')
> 
> /usr/lib64/python2.7/site-packages/pandas/core/window.pyc in
> apply(self, func, raw, args, kwargs)    1010     1011         return
> self._apply(f, func, args=args, kwargs=kwargs,
> -> 1012                            center=False, raw=raw)    1013     1014     def sum(self, *args, **kwargs):
> 
> /usr/lib64/python2.7/site-packages/pandas/core/window.pyc in
> _apply(self, func, name, window, center, check_minp, **kwargs)
>     878                     result = np.apply_along_axis(calc, self.axis, values)
>     879                 else:
> --> 880                     result = calc(values)
>     881 
>     882             if center:
> 
> /usr/lib64/python2.7/site-packages/pandas/core/window.pyc in calc(x)
>     872                 def calc(x):
>     873                     return func(x, window, min_periods=self.min_periods,
> --> 874                                 closed=self.closed)
>     875 
>     876             with np.errstate(all='ignore'):
> 
> /usr/lib64/python2.7/site-packages/pandas/core/window.pyc in f(arg,
> window, min_periods, closed)    1007             return
> libwindow.roll_generic(    1008                 arg, window, minp,
> indexi,
> -> 1009                 closed, offset, func, raw, args, kwargs)    1010     1011         return self._apply(f, func, args=args,
> kwargs=kwargs,
> 
> pandas/_libs/window.pyx in pandas._libs.window.roll_generic()
> 
> TypeError: a float is required
>类型错误回溯(最近的调用
>最后)在()
>--->1g=testTbt['fit_x']。滚动('1.0S')。应用(lambda x:f(列表(x)))
> 
>/usr/lib64/python2.7/site-packages/pandas/core/window.pyc in
>应用(自身,功能,原始,参数,kwargs)1701 def应用(自身,功能,
>原始=无,args=(),kwargs={}):1702返回超级(滚动,
>自我介绍)申请(
>->1703 func,raw=raw,args=args,kwargs=kwargs)1704 1705@Substitution(name='rolling')
> 
>/usr/lib64/python2.7/site-packages/pandas/core/window.pyc in
>应用(self、func、raw、args、kwargs)1010 1011返回
>自应用(f,func,args=args,kwargs=kwargs,
>->1012 center=False,raw=raw)1013 1014 def sum(self,*args,**kwargs):
> 
>/usr/lib64/python2.7/site-packages/pandas/core/window.pyc in
>应用(自身、职能、名称、窗口、中心、检查、标记、**kwargs)
>878结果=np。沿_轴应用_(计算、自轴、值)
>879其他:
>-->880结果=计算(值)
>     881 
>882如果中心:
> 
>/usr/lib64/python2.7/site-packages/pandas/core/window.pyc in-calc(x)
>872 def calc(x):
>873返回函数(x,窗口,最小周期=自最小周期,
>-->874关闭=自关闭)
>     875 
>876,带有np.errstate(all='ignore'):
> 
>/usr/lib64/python2.7/site-packages/pandas/core/window.pyc in f(arg,
>窗口,最小周期,关闭)1007返回
>libwindow.roll_generic(1008 arg,window,minp,
>indexi,
>->1009关闭、偏移、func、raw、args、kwargs)1010 1011返回自身。\u应用(f、func、args=args,
>kwargs=kwargs,
> 
>pandas/_libs/window.pyx在pandas中。_libs.window.roll_generic()
> 
>TypeError:需要浮点
我基本上想在滚动的基础上做一些计算,比如计算指数移动平均线。请告诉我哪里出了问题


可以找到数据

您似乎希望使用函数
f
来返回值。
apply
类似于
map
,它需要返回值。

我对
pandas
不太在行,但您似乎希望使用函数
f
来返回值。尝试删除.0并使用1s instedKe耶罗:你正在申请的“适合”
len(x)
在使用
滚动时覆盖整个数据帧,因为您有多个列。您的目标到底是什么?因为现在它没有意义。那么,您是否确定您的列
exchTstamp
正确键入了
datetime64
类型?在读取csv时,可以使用参数
解析日期
,如果需要
解析日期()。