簡體   English   中英

使用pandas計算兩個特定行之間的百分比變化

[英]Calculate the percentage change between two specific rows with pandas

我有一個像這樣的數據幀:

         AAPL      MSFT
May       200       120
Jun       190       122
Jul       170       127
Aug       180       135

我想添加一個索引名為'percChane'的新行,它計算第一行和最后一行之間的perc變化(在本例中為May和Aug)。

             AAPL      MSFT
    May       200       120
    Jun       190       122
    Jul       170       127
    Aug       180       135
   percChng   -10      12.5

可以使用df.pct_change()來完成嗎? 如果不是最有效的方法 - 它總是需要是第一行和最后一行。

您可以選擇要計算%變化的行,然后自己計算:

s, e = df.iloc[0], df.iloc[-1]
df = df.append(((e - s) / s * 100).rename('percChng'))
df
           AAPL   MSFT
May       200.0  120.0
Jun       190.0  122.0
Jul       170.0  127.0
Aug       180.0  135.0
percChng  -10.0   12.5

或者,您可以調用pct_change讓pandas為您執行此操作:

df = df.append(df.iloc[[0, -1]].pct_change().iloc[-1].mul(100).rename('percChng'))
df
           AAPL   MSFT
May       200.0  120.0
Jun       190.0  122.0
Jul       170.0  127.0
Aug       180.0  135.0
percChng  -10.0   12.5

暫無
暫無

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

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