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