Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.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 将函数应用于dataframe列,同时考虑前几行的值_Python_Pandas - Fatal编程技术网

Python 将函数应用于dataframe列,同时考虑前几行的值

Python 将函数应用于dataframe列,同时考虑前几行的值,python,pandas,Python,Pandas,如何使用以下函数获取375ma中每20/xx个条目的值 df: 375ma NaN NaN NaN NaN 123 124 168 189 190 200 如果我这样做: def trendline(data, order=1): coeffs = np.polyfit(data.index.values, list(data), order) slope = coeffs[-2] return float(slope) 我在所有行中都得到相同的值 我可能可以使用

如何使用以下函数获取
375ma
中每20/xx个条目的值

df:

375ma

NaN
NaN
NaN
NaN
123
124
168
189
190
200
如果我这样做:

def trendline(data, order=1):
    coeffs = np.polyfit(data.index.values, list(data), order)
    slope = coeffs[-2]
    return float(slope)
我在所有行中都得到相同的值

我可能可以使用
for
循环来执行此操作,是否有其他方法来执行此操作

编辑:

[-5:]
是这样的,函数可以查看375ma列前面的5个值

感谢

IIUC,您需要在参数
raw
设置为
False
后使用和函数,以传递函数中的一系列信息,例如:

df['trend'] = trendline(df['375ma'][-5:])

[:-5]
的目的是什么?@Itay
[-5::][/code>是使用前面的五个值。我试过你建议的申请。我得到TypeError:“float”对象不可下标
df['trend'] = df['375ma'].rolling(5).apply(trendline, raw=False)

print (df)
   375ma  trend
0    NaN    NaN
1    NaN    NaN
2    NaN    NaN
3    NaN    NaN
4  123.0    NaN
5  124.0    NaN
6  168.0    NaN
7  189.0    NaN
8  190.0   19.9
9  200.0   17.4