用pandas计算两个特定行之间的百分比变化

2024-09-30 20:26:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

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

我想添加一个索引名为'percChane'的新行,该行计算第一行和最后一行(在本例中为May和Aug)之间的perc变化。你知道吗

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

这可以通过使用df.pct\u更改()? 如果不是,最有效的方法是什么-它总是需要排在第一行和最后一行。你知道吗


Tags: 数据方法dfjunmayaugjulaapl
1条回答
网友
1楼 · 发布于 2024-09-30 20:26:55

您可以选择要计算其百分比变化的行,然后自己计算:

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,让熊猫帮您做:

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

相关问题 更多 >