Sil*_*ser 2 python dataframe pandas
我有一个像这样的数据框:
AAPL MSFT
May 200 120
Jun 190 122
Jul 170 127
Aug 180 135
Run Code Online (Sandbox Code Playgroud)
我想添加一个索引名称为“percChane”的新行,用于计算第一行和最后一行之间的 perc 变化(在本例中为 5 月和 8 月)。
AAPL MSFT
May 200 120
Jun 190 122
Jul 170 127
Aug 180 135
percChng -10 12.5
Run Code Online (Sandbox Code Playgroud)
可以使用 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
Run Code Online (Sandbox Code Playgroud)
或者,您可以致电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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1233 次 |
最近记录: |