Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.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 使用向量中的多行应用_Python_Python 3.x_Numpy_Pandas - Fatal编程技术网

Python 使用向量中的多行应用

Python 使用向量中的多行应用,python,python-3.x,numpy,pandas,Python,Python 3.x,Numpy,Pandas,我想做一些关于级数向量的数学。我想取向量中两行之间的差。我的第一直觉是: def row_diff(prev, next): return(next - prev) 然后使用它 my_col_vec.apply(row_diff) 但这不是我想要的。看起来apply是按行的,这很好,但是我似乎找不到一个等价的操作,可以通过从下一行减去上一行来轻松地从旧的向量创建一个新的向量 有更好的方法吗?我一直在看这份文件,它看起来不像 谢谢 要计算行间差异,请使用: 另外,请尽量避免使用apply

我想做一些关于级数向量的数学。我想取向量中两行之间的差。我的第一直觉是:

def row_diff(prev, next):
   return(next - prev)
然后使用它

my_col_vec.apply(row_diff)
但这不是我想要的。看起来apply是按行的,这很好,但是我似乎找不到一个等价的操作,可以通过从下一行减去上一行来轻松地从旧的向量创建一个新的向量

有更好的方法吗?我一直在看这份文件,它看起来不像


谢谢

要计算行间差异,请使用:


另外,请尽量避免使用
apply
,因为通常有矢量化方法可用

use@EdChum请将此作为答案发布,这样我可以给你评分。
In [6]:
df = pd.DataFrame({'a':np.random.rand(5)})
df

Out[6]:
          a
0  0.525220
1  0.031826
2  0.260853
3  0.273792
4  0.281368

In [7]:
df['diff'] = df['a'].diff()
df

Out[7]:
          a      diff
0  0.525220       NaN
1  0.031826 -0.493394
2  0.260853  0.229027
3  0.273792  0.012940