如何使用Python数据框基于多个条件进行计算?

时间:2018-08-29 00:24:49

标签: python pandas dataframe

我有具有数千行和列的excel数据文件。 我正在使用python,并已开始使用pandas数据框来分析数据。 我想在D列中执行的操作是为每个ID每年计算C列中的值的年度变化。 我可以使用excel来执行此操作-如果组织ID与上一行相同,则计算年度更改(将单元格保留为蓝色,因为这是该特定ID的第一个期间)。我不知道如何使用python执行此操作。任何人都可以帮忙吗?Screenshot of the excel sheet I am working on

1 个答案:

答案 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()