我可能会有一个大数据框,其中第一行如下:
BUCHDAT y y1 y2 y3 y4 y5 y6 y7
7 2017-02-26 577 30.0 622.0 1785.0 2633.0 422.0 10497.0 364.0
现在我想用公式替换列“y”到“y7”:
df['y'] = df['y'] - df['y1']
是否有任何矢量化解决方案?所以我想在每一列中应用这个公式,对于下一列,公式应该是:
df['y1'] = df['y1']- df['y2']
你知道怎么做吗?
请您参考如下方法:
这是一个使用底层 numpy 数组以获得良好性能的方法:
df.iloc[:,1:-1] = df.values[:,1:-1] - df.values[:,2:]
print(df)
BUCHDAT y y1 y2 y3 y4 y5 y6 y7
7 2017-02-26 547.0 -592.0 -1163.0 -848.0 2211.0 -10075.0 10133.0 364.0
