减去Pandas或Pyspark Dataframe中的连续列

时间:2016-07-12 06:26:44

标签: python pandas pyspark multiple-columns subtraction

我想在pandas或pyspark数据帧中执行以下操作,但我还没有找到解决方案。

我想从数据框中的连续列中减去值。

我所描述的操作可以在下图中看到。

Input and Output Dataframe

请记住,输出数据框在第一列上没有任何值,因为输入表中的第一列不能被前一列减去,因为它不存在。

2 个答案:

答案 0 :(得分:3)

diffaxis个参数,所以您只需一步即可完成此操作:

In [63]:
df = pd.DataFrame(np.random.rand(3, 4), ['row1', 'row2', 'row3'], ['A', 'B', 'C', 'D'])
df

Out[63]:
             A         B         C         D
row1  0.146855  0.250781  0.766990  0.756016
row2  0.528201  0.446637  0.576045  0.576907
row3  0.308577  0.592271  0.553752  0.512420

In [64]:
df.diff(axis=1)

Out[64]:
       A         B         C         D
row1 NaN  0.103926  0.516209 -0.010975
row2 NaN -0.081564  0.129408  0.000862
row3 NaN  0.283694 -0.038520 -0.041331

答案 1 :(得分:1)

df = pd.DataFrame(np.random.rand(3, 4), ['row1', 'row2', 'row3'], ['A', 'B', 'C', 'D'])
df.T.diff().T

enter image description here