我有具有数千行和列的excel数据文件。 我正在使用python,并已开始使用pandas数据框来分析数据。 我想在D列中执行的操作是为每个ID每年计算C列中的值的年度变化。 我可以使用excel来执行此操作-如果组织ID与上一行相同,则计算年度更改(将单元格保留为蓝色,因为这是该特定ID的第一个期间)。我不知道如何使用python执行此操作。任何人都可以帮忙吗?
答案 0 :(得分:1)
假设数据框已经排序
df.groupby(‘ID’).Cash.pct_change()
但是,您可以通过对事物进行排序的假设来加快事物的速度。因为不必为了计算从一行到下一行的百分比变化而进行分组
df.Cash.pct_change().mask(
df.ID != df.ID.shift()
)
这些应该产生您要查找的列值。为了添加列,您需要分配给列或使用新列创建新的数据框
df[‘AnnChange’] = df.groupby(‘ID’).Cash.pct_change()