簡體   English   中英

減去Pandas或Pyspark Dataframe中的連續列

[英]Subtract consecutive columns in a Pandas or Pyspark Dataframe

我想在pandas或pyspark數據幀中執行以下操作,但我還沒有找到解決方案。

我想從數據幀中的連續列中減去這些值。

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

輸入和輸出數據幀

請記住,輸出數據框在第一列上沒有任何值,因為輸入表中的第一列不能被前一列減去,因為它不存在。

diff有一個axis參數,所以你可以一步完成:

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
df = pd.DataFrame(np.random.rand(3, 4), ['row1', 'row2', 'row3'], ['A', 'B', 'C', 'D'])
df.T.diff().T

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM