【发布时间】:2022-11-19 16:41:59
【问题描述】:
我想计算以下数据框的百分比变化。
import pandas as pd
df = pd.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'],
'points': [12, 0, 19, 22, 0, 25, 0, 30],
'score': [12, 0, 19, 22, 0, 25, 0, 30]
})
print(df)
当我应用此步骤时,它会返回 inf,这很明显,因为我们除以零。
df['score'] = df.groupby('team', sort=False)['score'].apply(
lambda x: x.pct_change()).to_numpy()
但是如果我们在每一列中看到从 0 到 19 的变化是 1900%,从 0 到 25 的变化是 2500%,从 0 到 30 的变化是 3000%。所以,我想知道如何计算这些值。
【问题讨论】:
-
你是说差异吗?
-
不,我想计算两行之间的百分比变化。
-
这不是百分比变化
-
对不起,我认为这是一个百分比变化。那它是什么?
标签: python pandas dataframe group-by data-science-experience